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 ...
随机推荐
- 使用WPF技术模拟手机界面
原文:使用WPF技术模拟手机界面 1. 前言 WPF(Windows Presentation Foundation),即"Windows呈现基础",它的目的非常明确,就是用来把数 ...
- intel dpdk IPv4 Fragmentation Sample Application 测试
在上一篇文章中testpmd根据该方案已经在的情况下试验成功,来examples/ipvr_frag夹. 确认环境变量RTE_SDK.RTE_TARGET行.跑make. 一.一个逻辑核(lcore) ...
- windows server疑难杂症
1.某些网址.服务访问失败,可能的原因:增强的安全配置关闭增强的安全配置,并且重启电脑!!!http://jingyan.baidu.com/article/6181c3e076ac0b152ff15 ...
- [Windows][VC]开机自动启动程序的几种方法
原文:[Windows][VC]开机自动启动程序的几种方法 很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsof ...
- MVC 直接或间接继承自ActionResult的类型
•ViewResult:使用View()可以指定一个页面,也可以指定传递的模型对象,如果没有指定参数则表示返回与Action同名的页面 •ContentResult:使用Content(string ...
- Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测
原文:Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测 [函数名称] 图像Prewitt边缘检测函数PrewittEdgeProcess(WriteableBitmap ...
- UWP开发学习笔记2
RelativePanel控件: 用法 描述 RelativePanel.Above 设置当前element为目标element的上方 RelativePanel.AlignBottomWith 设置 ...
- 16.09 working note
这个月最主要任务是linux shell script学习. 其次是继续spring源码学习. 其余时间C.C++和Java学习. 01 9月第一天,9点多才到家.做道简单的oj题练习下.因为简单,所 ...
- vmstat命令浅析
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...
- Python:Pandas学习
import pandas as pd import numpy as np s = pd.Series([1, 3, 6, np.nan, 44, 1]) df= pd.DataFrame(np.r ...