CDH CM元数据梳理,包括HIVE

 

 

一、Schema SCM 表结构梳理(对应生产BAOFOO_SCM

AUDITS  

登录信息、服务,角色重启、配置更改

PROCESSES

进程信息。这里面有很多信息。开放的web端口。

HOSTS

主机信息,包括IP地址,所在机架,内存,CPU等信息

CLIENT_CONFIGS

客户端配置,里面有下载客户端配置的路径。

CONFIGS_AUD

配置审计表。

CLIENT_CONFIGS_TO_HOSTS

客户端配置文件与节点的对应关系

CLUSTERS

群集信息,CM管理多少个群集,就会有多条记录。

CM_VERSION

CM版本,服务安装时间,服务所在主机。

COMMANDS

命令记录,其中包括系统内部执行的命令。

COMMANDS_DETAIL

命令的详细内容。关联COMMANDS表。

COMMAND_SCHEDULES

CM内部命令执行调度元信息。

CONFIGS

配置表,改的配置,改之后的值,服务ID等。

CONFIGS_AUD

配置更改记录。

CREDENTIALS

Kerberos认证授权表,包含keytab文件

DIAGNOSTICS_EVENTS

诊断事件,关于parcels的激活,分发,停用有记录。

GLOBAL_SETTINGS

全局配置,包括自定义仪表盘信息

HOST_TEMPLATES

主机模板,模板名,所在主机。线上有hbase node和hdfs-yarn的模板。

HOST_TEMPLATE_TO_ROLE_CONF_GRP

主机模板和角色配置组的对应信息。

METRICS

各服务的监控项

PARCELS

parcels信息,是否可用,远程地址等等。

PARCEL_COMPONENTS

parcels名称与组件之间的映射关系。

REVISIONS

版本信息,CM变更之后,会产生一个新的版本。

ROLES

群集中的角色信息

ROLE_CONFIG_GROUPS

角色对应的角色组信息

SERVICES

服务名,页面显示的一些信息。

SNAPSHOT_POLICIES

快照策略(用户备份以及灾难恢复方面)

USERS

CM群集中的用户信息(启用认证时)

USER_AUTH_ROLES

用户与认证角色对应关系

 

该库记录了关于CM服务中的元数据、操作记录、用户登录、监控项采集、kerberos认证等等信息。

REVISIONS 每一次通过CM产生的变更都会产生一条记录。包括重启服务、修改服务、角色配置、修改CM配置。

 

AUDITS以及*_AUD为审计相关的信息记录。包括类如HOSTSROLES的元数据表。

AUDITS (审计表,登陆日志,重启服务,群集,激活、停用parcels等操作)。

 

 

1、监控有没有暴力登录

 

示例:以下SQL查询五分钟内登录失败次数超过10次的用户名,以及登录IP。

SELECT

*

FROM

(

SELECT

SUBSTRING_INDEX(MESSAGE, ':' ,- 1) user_name,

IP_ADDRESS ip_addr,

count(1) AS login_counts

FROM

AUDITS

WHERE

AUDIT_TYPE = 'AUTHENTICATION'

AND ALLOWED = 0

AND TIMESTAMPDIFF(

MINUTE,

FROM_UNIXTIME(LEFT(CREATED_INSTANT, 10)),

CURRENT_TIMESTAMP ()

) < 5

GROUP BY

user_name,

ip_addr

) b

WHERE

b.login_counts > 10;

 

 

 

2、监控配置修改

SELECT

t3.DISPLAY_NAME,

t1.ATTR,

t1.`VALUE`

FROM

CONFIGS_AUD t1

LEFT JOIN REVISIONS t2 ON t1.REV = t2.REVISION_ID

LEFT JOIN SERVICES t3 ON t1.SERVICE_ID = t3.SERVICE_ID

WHERE

TIMESTAMPDIFF(

MINUTE,

FROM_UNIXTIME(LEFT(t2.`TIMESTAMP`, 10)),

CURRENT_TIMESTAMP ()

) < 5;

 

HUEhttp端口属性被改成8898

 

 

3、监控服务重启,重启impala服务。

SELECT

SUBSTRING_INDEX(t3.message, ':' ,- 1),

t2.INFO,

t2.IP_ADDRESS

FROM

(

SELECT

GROUP_CONCAT(

MESSAGE

ORDER BY

CREATED_INSTANT SEPARATOR ' 结果:'

) INFO,

GROUP_CONCAT(IP_ADDRESS) IP_ADDRESS

FROM

AUDITS t1

WHERE

CREATED_INSTANT > REPLACE (

UNIX_TIMESTAMP(

DATE_ADD(NOW(3), INTERVAL - 50 MINUTE)

),

'.',

''

)

AND AUDIT_TYPE = 'COMMAND_SERVICE'

) t2

LEFT JOIN (

SELECT

message,

IP_ADDRESS,

CREATED_INSTANT

FROM

AUDITS

WHERE

AUDIT_TYPE = 'AUTHENTICATION'

) t3 ON t3.IP_ADDRESS = t2.IP_ADDRESS

ORDER BY

t3.CREATED_INSTANT DESC

LIMIT 1;

 

 

二、HIVE元数据表(对应生产BAOFOO_HIVE

与上述不同,这不属于Cloudera 公司Hadoop发行版独有的。

DBS

数据库信息,DB名,所在位置。

COLUMNS_V2

表的列信息,注释,列名,列的数据类型,列在表中的位置。通过CD_ID与CDS表关联

TBL_PRIVS

表的授权信息。

TABLE_PARAMS

表的基本信息,最后更改时间,总大小,原生数据大小,行数,文件数量

SERDE_PARAMS

字符分隔符,虚拟化格式信息。通过SERDE_ID与SERDES关联

SDS

表的属性信息,输入格式(表存储类型),是否压缩,所在位置,占桶的数量,等。通过SERDE_ID与SERDES关联

SERDES

虚拟化和反虚拟化的信息。

CDS

只有一列,表的唯一ID

TBLS

存储Hive表、视图、索引表的基本信息。创建时间,上次访问时间,所有者、表名,视图HQL语句

PARTITION_KEYS

表的分区信息,表名,分区键注释,分区键名,类型,联合分区所在位置

PARTITION_KEY_VALS

已有分区信息。

PARTITION_PARAMS

分区属性信息,某个分区的文件数量,总代小,最后访问时间等。

PARTITIONS

分区的基本信息,分区ID,分区创建时间,最后访问时间,分区名,分区存储ID,表ID

VERSION

存储Hive版本的元数据表,如果该表不存在,启动hive-cli的时候会报Table ‘hive.version’ doesn’t exist”

 

1HIVE中库表数据量统计。

SELECT d.`NAME` "",count(1) "表数量" from TBLS t RIGHT  JOIN DBS d ON t.DB_ID = d.DB_ID group BY d.DB_ID  ;

 

 

2、表大小统计

 

SELECT

round(CAST(a.PARAM_VALUE AS SIGNED)/1024/1024/1024,0) v,

b.TBL_NAME,

c.`NAME`

FROM

TABLE_PARAMS a

LEFT JOIN TBLS b ON a.TBL_ID = b.TBL_ID

LEFT JOIN DBS c ON b.DB_ID = c.DB_ID

WHERE

a.PARAM_KEY = 'totalSize' -- AND c.`NAME` NOT like 'tmp%'

ORDER BY

v DESC;



posted @ 2019-03-14 15:01  xiangerfer  阅读(1986)  评论(0编辑  收藏  举报