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为审计相关的信息记录。包括类如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.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” |
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; |
CDH CM元数据梳理,包括HIVE的更多相关文章
- Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)
一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...
- CDH CM安装及简单群集部署测试
前吃人的故事开始了,金钱是如何吃人的呢?我在想ing,还没想通,一起吧,哈哈: 入题,别胡扯,误人子弟!!!! CM@@!!!!!!....................., 先来张monitor ...
- CDH CM版本 6.0.1 升级到 CM 6.2.0 当前最新版本(CentOS 7.x)
CDH 的 6.0.1 是一个尴尬的版本,那时候 cloudera 还没有将 spark 更新到 2.4 还使用的是 spark 2.2版本. 但后来我们发现 2.3 | 2.4 更新了非常多的 fe ...
- 基于Hive进行数仓建设的资源元数据信息统计:Hive篇
在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...
- 基于CDH 5.9.1 搭建 Hive on Spark 及相关配置和调优
Hive默认使用的计算框架是MapReduce,在我们使用Hive的时候通过写SQL语句,Hive会自动将SQL语句转化成MapReduce作业去执行,但是MapReduce的执行速度远差与Spark ...
- ubuntu下搭建hive(包括hive的web接口)记录
Hive版本 0.12.0(独立模式) Hadoop版本 1.12.1 Ubuntu 版本 12.10 今天试着搭建了hive,差点迷失在了网上各种资料中,现在把我的经验分享给大家,亲手实践过,但未必 ...
- CDH:5.14.0 中 Hive BUG记录
CDH5.14.0使用的HIVE版本: 自建表log: +----------------------------------------------------+--+ | createtab_st ...
- CDH hue下定时执行hive脚步
今天在看oozie时发现能在hue中执行hive 脚本,主要是hue 和 oozie结合使用,下面介绍下怎么使用的,挺恶心的,哈哈(在这里就不哔哔了) 提交oozie定时作业 1.进入hue界 ...
- troubleshooting-windows 在 CDH集群环境读取 Hive 表 KrbException: Cannot locate default realm
KrbException: Cannot locate default realm 解决办法 1)拷贝需要组件的配置文件到项目中的 /resources/目录.如hadoop,目录/etc/hadoo ...
随机推荐
- 使用 Capistrano 和写作 Ruby 迭代边缘部署
想边自己写ruby代码,边部署随时能够到处查看,heroku域名又不友好,速度在国内又慢.于是乎想起来capistrano,于是学起 ... capistrano 一点入门认知 https://www ...
- XF堆栈布局
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http:/ ...
- jquery 让图片飞
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- Springboot统一配置Jackson
经常要为接口响应对象设置属性,序列化的时候是不是包含空值,反序列化的时候是否忽略不认识的字段.所以,必须要手动制定ObjectMapper或者在类上声明 @JsonInclude(Include.NO ...
- Delphi中的线程类 - TThread详解
Delphi中的线程类 - TThread详解 2011年06月27日 星期一 20:28 Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本 ...
- Delphi I/O Errors(几百种不同的错误)
The following are the Windows API (and former DOS) IO errors, which are also the IO errors often ret ...
- 获取bing图片并自动设置为电脑桌面背景(使用 URLDownloadToFile API函数)
众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...
- 微信小程序把玩(七)数据绑定
原文:微信小程序把玩(七)数据绑定 数据绑定有一部分前几个看着还行,后面的几个可能有几个不理解,界面展示的数据有的也因为条件没法显示.看不懂的可以先记着,后面真正用到时就会明白,反正我是这样想的.这里 ...
- Upgrade a Non-CDB To a PDB on CDB
.Stop the cluster database and start database on one node with read noly [oracle@raca1 admin]$ srvct ...
- nginx 简单应用
从源代码编译 Nginx 把源码解压缩之后,在终端里运行如下命令: $ ./configure $ make $ sudo make install 默认情况下,Nginx 会被安装在 /usr/lo ...