zoukankan      html  css  js  c++  java
  • 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;



  • 相关阅读:
    IBM MQ 学习
    spring中配置监听队列的MQ
    数据库优化(二)
    设计模式
    VBA学习笔记(2)--新建word文档并插入文字
    VBA代码分行
    excel保存时出现“请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息”
    Excel VBA 操作 Word(入门篇)
    win10无法使用内置管理员账户打开应用
    五笔字根拆分规则_字根拆分方法
  • 原文地址:https://www.cnblogs.com/xiangerfer/p/10530347.html
Copyright © 2011-2022 走看看