点一下关注吧!!!非常感谢!!持续更新!!!
Java篇开始了!
目前开始更新 MyBatis,一起深入浅出!
目前已经更新到了:
- Hadoop(已更完)
- HDFS(已更完)
- MapReduce(已更完)
- Hive(已更完)
- Flume(已更完)
- Sqoop(已更完)
- Zookeeper(已更完)
- HBase(已更完)
- Redis (已更完)
- Kafka(已更完)
- Spark(已更完)
- Flink(已更完)
- ClickHouse(已更完)
- Kudu(已更完)
- Druid(已更完)
- Kylin(已更完)
- Elasticsearch(已更完)
- DataX(已更完)
- Tez(已更完)
- 数据挖掘(已更完)
- Prometheus(已更完)
- Grafana(已更完)
- 离线数仓(正在更新...)
章节内容
- Atlas 数据仓库元数据管理
- 数据血缘关系 元数据
上节进度
上节我们完成到了 对 Atlas 的源码编译,下面我们正式的进行安装。
数据仓库元数据管理
元数据(MetaData)狭义的解释是用来描述数据的数据。广义来看,除了业务逻辑直接读写处理的那些业务数据,所有其他用来维持整个系统运转所需的信息、数据都可以叫做元数据,如数据库中表的Schema信息,任务的血缘关系,用户和脚本、任务的权限映射关系信息等。
管理元数据的目的,是为了让用户能够更高效的使用数据,也是为了平台管理人员能更加有效的做好数据的维护管理工作。
但通常这些元数据信息是散落在平台的各个系统,各种流程中,它们的管理也可能或多或少可以通过各种子系统自身的工具,方案或者流程逻辑来实现。
元数据管理平台很重要的一个功能就是信息的收集,至于收集哪些信息,取决于业务的需求和需要解决的目标问题。
元数据管理平台还需要考虑如何恰当的形式对这些元数据信息进行展示,进一步的,如何将这些元数据信息通过服务的形式提供给周边上下游系统来使用,真正帮助大数据平台完成质量管理的闭环工作。
应该收集那些信息,没有绝对的标准,但是对大数据开发平台来说,常见的元数据元数据信息包括:
- 表结构信息
- 数据的空间存储,读写记录,权限归属和其他各类统计信息
- 数据的血缘关系信息
- 数据的业务属性信息
Atlas
正式安装
shell
cd /opt/software/apache-atlas-sources-1.2.0/distro/target
# 解压缩
tar zxvf apache-atlas-1.2.0-bin.tar.gz
mv apache-atlas-1.2.0/ /opt/servers/atlas-1.2.0
过程结果如下所示:
环境变量
shell
# 修改 /etc/profile,设置环境变量 ATLAS_HOME
vim /etc/profile
# atlas
export ATLAS_HOME=/opt/servers/atlas-1.2.0
export PATH=$PATH:ATLAS_HOME/bin
配置的结果如下所示:
启动服务
刷新环境变量之后,启动服务:
shell
cd $ATLAS_HOME/bin
./atlas_start.py
执行结果如下图所示:
查看进程
shell
ps -ef | grep atlas
可以看到进程有:
停止服务
shell
cd $ATLAS_HOME/bin
./atlas_stop.py
检查Solr
shell
cd /opt/servers/atlas-1.2.0/solr/bin
./solr status
Solr process 25038 running on port 9838
执行结果如下图所示:
访问项目
shell
http://h122.wzk.icu:21000
打开的页面如下所示:
登录账号密码都是 admin
Hive血缘导入
拷贝配置
将 $ATLAS_HOME/conf/atlas-application.properties 拷贝到 $HIVE_HOME/conf 目录下
shell
ln -s $ATLAS_HOME/conf/atlas-application.properties $HIVE_HOME/conf/atlas-application.properties
拷贝Jar包
shell
ln -s $ATLAS_HOME/server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-base-2.9.9.jar $ATLAS_HOME/hook/hive/atlas-hive-plugin-impl/jackson-jaxrs-base-2.9.9.jar
ln -s $ATLAS_HOME/server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-json-provider-2.9.9.jar $ATLAS_HOME/hook/hive/atlas-hive-plugin-impl/jackson-jaxrs-json-provider-2.9.9.jar
ln -s $ATLAS_HOME/server/webapp/atlas/WEB-INF/lib/jackson-module-jaxb-annotations-2.9.9.jar $ATLAS_HOME/hook/hive/atlas-hive-plugin-impl/jackson-module-jaxb-annotations-2.9.9.jar
执行结果如下所示:
修改Hive
shell
vim $HIVE_HOME/conf/hive-site.xml
增加hook
xml
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
写入内容如下所示:
在 $HIVE_HOME/conf/hive-env.sh中添加HIVE_AUX_JARS_PATH变量
shell
# 之前没弄过
mv $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
vim $HIVE_HOME/conf/hive-env.sh
写入内容如下:
shell
export HIVE_AUX_JARS_PATH=/opt/servers/atlas-1.2.0/hook/hive
对应结果如下所示:
批量导入
我们需要Hive可以正常启动,在执行过程中要输入admin/admin账号密码
shell
# 控制台执行 hive
sh /opt/servers/atlas-1.2.0/bin/import-hive.sh
执行后,需要输入账号密码:
成功导出之后,我们可以看到控制台输出了内容:
访问结果
打开刚才项目,Search中的选项有新的变化:
shell
http://h122.wzk.icu:21000
对应结果如下图所示:
Hive Hook 可以捕获如下的操作:
- create database
- create table/view, create table as select
- load, import, export
- DMLs(insert)
- alter database
- alter table
- alter view
最终的血缘关系: