一、 cloudera 会将页面的数据存储到 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为审计相关的信息记录。包括类如HOSTS,ROLES的元数据表。
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;
HUE的http端口属性被改成8898
3、监控服务重启,重启impala服务。
SELECT
SUBSTRING_INDEX(t3.message, ‘:’ ,- 1),
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”
1、HIVE中库表数据量统计。
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;