温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
Fayson的github:https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
在前面Fayson介绍了《
Cloudera Navigator介绍与安装
》,本篇文章主要介绍Navigator的四大核心功能,元数据搜索、数据溯源、审计以及数据生命周期管理功能。当然Navigator还一个重要的功能就是进行数据加密,因为涉及内容较多,也稍微复杂一些,所以本文这里先不介绍,Fayson会在后面的文章单独进行说明。
- 内容概述
1.元数据搜索
2.数据溯源
3.审计
4.数据生命周期管理
- 测试环境
1.CM和CDH版本为5.13.1
2.Navigator版本为2.12
2.元数据搜索
1.使用管理员登录Cloudera Navigator
如上图所示显示的界面即为元数据搜索功能界面。
2.根据输入的检索条件可以检索出所有涉及的内容,根据Source Type进行展示
通过关键字sqoop_hosts检索出Hive和HDFS相关的数据信息。
3.在搜索栏输入“sqoop_hosts”,根据左边的过滤条件,过滤数据源为Hive且类型为Table类型的数据
可以看到Navigator支持元数据模糊检索,支持元数据类型,类型、所属用户等条件过滤,检索出来的数据显示有数据文件的HDFS路径、所属用户、创建时间及数据源等信息。
4.查看元数据详细信息
5.进入元数据详细界面,为数据添加标签(Tag)
这里我们为元数据添加标签后,可以在元数据检索界面通过搜索“my_sqoop_hosts”标签来查找我们的元数据信息
6.修改元数据名称
修改元数据名称后,可以根据修改后的“hosts_rename”名称来搜索我们的元数据信息
通过检索出来的结果,能看到修改后的元数据名称中会有一个“Original Name”字段标识原始元数据的名称。修改的元数据名称还原后则不能检索到sqoop_hosts元数据信息
使用默认的“sqoop_hosts”检索出来的数据
我们可以看到是没有“Original Name”标识字段。
3.数据溯源管理
这里我们使用Sqoop抽取MySQL数据到HDFS,然后将创建Hive的sqoop_hosts外部表,再将sqoop_hosts表转化为hosts_paquet表,通过这系列流程查看Navigator是如何展示我们数据的流向。
1.在命令行执行脚本使用Sqoop命令通过MySQL数据库中指定表创建Hive表
[root@ip-172-31-16-68 gzshell]# vim create_hivetable.sh #!/bin/sh host='ip-172-31-16-68.ap-southeast-1.compute.internal' database='cm' user='root' password='123456' mysqlTable='HOSTS' hiveDB='default' hiveTable='sqoop_hosts' sqoop create-hive-table \ --connect jdbc:mysql://${host}:3306/${database} --username ${user} --password ${password} \ --table ${mysqlTable} \ --hive-table ${hiveDB}.${hiveTable} \ --hive-overwrite
(可左右滑动)
2.在命令行执行脚本将MySQL表数据抽取到Hive的sqoop_hosts表中
[root@ip-172-31-16-68 gzshell]# vim import_hivetable.sh #!/bin/sh host='ip-172-31-16-68.ap-southeast-1.compute.internal' database='cm' user='root' password='123456' mysqlTable='HOSTS' hiveDB='default' hiveTable='sqoop_hosts' tmpDir='/user/hive/warehouse/'${hiveDB}'.db/'${hiveTable} sqoop import --connect jdbc:mysql://${host}:3306/${database} --username ${user} --password ${password} \ --table $mysqlTable \ --hive-import --hive-table ${hiveDB}.${hiveTable} --target-dir ${tmpDir} --delete-target-dir \ --hive-overwrite \ --null-string '\\N' --null-non-string '\\N'
(可左右滑动)
3.在Hue中执行SQL命令创建hosts_parquet表
create table hosts_parquet like sqoop_hosts stored as parquetfile;
(可左右滑动)
4.在命令行执行脚本将HDFS数据抽取到MySQL数据库中的test_hosts表
[root@ip-172-31-16-68 gzshell]# vim export_hivetable.sh #!/bin/sh ###create table test_hosts like HOSTS; host='ip-172-31-16-68.ap-southeast-1.compute.internal' database='cm' user='root' password='123456' mysqlTable='test_hosts' hiveDB='default' exportDir='/user/hive/warehouse/sqoop_hosts' sqoop export --connect jdbc:mysql://${host}:3306/${database} \ --username ${user} \ --password ${password} \ --table ${mysqlTable} \ --export-dir ${exportDir} \ --input-fields-terminated-by '\01' \ -m 1
(可左右滑动)
5.完成以上的数据操作流程后,登录Navigator查看数据血缘分析
进入元数据详细界面
点击“Lineage”菜单,进入数据血缘分析界面
点击图中标注的“+”可以看到sqoop_hosts表中所有字段与hosts_parquet表中字段为一一对应
点击右侧菜单“Operations”,可以看到详细的跟踪到元数据的源头及目的地
点击每一个节点可以查看到当前节点的详细描述
可以精确到每个字段的数据流向
4.审计功能
1.我们命令行使用fayson用户访问有权限的HDFS目录
[root@ip-172-31-16-68 ~]# hadoop fs -ls /user/hive/warehouse
(可左右滑动)
2.登录Cloudera Manager Navigator进入“Audits”功能,查看fayson审计功能
添加筛选条件
点击“Apply”,可以看到我们操作HDFS的/user/hive/warehouse的审计日志
3.使用fayson用户查看无访问权限的HDFS目录
[root@ip-172-31-16-68 ~]# hadoop fs -ls /user/hdfs
(可左右滑动)
4.查看Cloudera Manager Navigator的审计日志
添加筛选条件
点击“Apply”,查看审计日志,可以看到有记录用户无权限访问该目录的日志
5.使用fayson用户登录Hue进行SQL操作,访问有权限的sqoop_hosts表
登录Navigator查看审计日志
6.操作无权限访问的hosts_parquet表
登录Navigator查看审计日志
7.同样Cloudera Manager Navigator可以对系统登录等操作进行审计,这里以Hue为例
5.数据生命周期管理
1.登录Navigator平台,点击“Policies”进入数据生命周期管理界面
2.查看“Search Query”查询条件
点击“Show full query”
3.点击“New Policy”创建一个自动分类标签的策略
点击“Save”保存策略
查看自动分类标签策略运行情况
通过元数据检索查看我们创建的策略是否执行成功
成功为我们的/user/hive/warehouse/sqoop_hosts的HDFS目录生成了my_sqoop_hosts标签。
4.创建自动归档策略
将HDFS的/wc目录移至/wc_archive目录
点击“Save”保存归档策略
查看归档策略运行状态
查看数据是否归档,在命令行查看HDFS的/wc目录
如上截图发现,HDFS的/wc目录已不存在,只存在/wc_archive,与我们创建的归档策略一致。
6.总结
- Navigator提供了完整的元数据检索功能。可以通过搜索表名,文件名等都可以搜索出相关所有涉及的内容,包括文件路径,创建时间,创建人等。可以根据数据来源组件,操作,表等分类进行查询。可以为数据集添加标签(tag) ,支持基于标签的搜索。
- Navigator提供了完成了集群审计功能(含数据操作,权限控制、登录等)
- Navigator提供完整的数据血缘分析,通过可视化界面方便的查看数据详细的进入HDFS到流出的一系列过程。
- Navigator提供创建策略的方式来管理数据的生命周期,如为数据添加Tag、归档数据等策略。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操