Atlas (三) --------- Atlas 使用


前言

Atlas 的使用相对简单,其主要工作是同步各服务(主要是Hive) 的元数据,并构建元数据实体之间的关联关系,然后对所存储的元数据建立索引,最终未用户提供数据血缘查看及元数据检索等功能。

Atlas 在安装之初,需手动执行一次元数据的全量导入,后续 Atlas 便会利用Hive Hook 增量同步 Hive 的元数据。


一、Hive 元数据初次导入

Atlas 提供了一个 Hive 元数据导入的脚本,直接执行该脚本,即可完成 Hive元数据的初次全量导入。

1. 导入 Hive 元数据

执行以下命令

[root@hadoop102 ~]# /opt/module/atlas/hook-bin/import-hive.sh 

按提示输入用户名:admin,输入密码:admin

Enter username for atlas :- admin
Enter password for atlas :- 

等待片刻,出现以下日志,即表明导入成功

Hive Meta Data import was successful!!!

2. 查看 Hive 元数据

搜索 hive_table 类型的元数据,可已看到 Atlas 已经拿到了 Hive 元数据

在这里插入图片描述

任选一张表查看血缘依赖关系 :

发现此时并未出现期望的血缘依赖,原因是 Atlas 是根据 Hive 所执行的 SQL 语句获取表与表之间以及字段与字段之间的依赖关系的,例如执行insert into table_a select * from table_b语句,Atlas 就能获取 table_a 与 table_b 之间的依赖关系。此时并未执行任何 SQL 语句,故还不能出现血缘依赖关系。

在这里插入图片描述

二、Hive 元数据增量同步

Hive 元数据的增量同步,无需人为干预,只要 Hive 中的元数据发生变化(执行 DDL 语句),Hive Hook 就会将元数据的变动通知 Atlas。除此之外,Atlas 还会根据 DML 语句获取数据之间的血缘关系。

1. 全流程调度

为查看血缘关系效果,此处使用 Azkaban 将数仓的全流程调度一次。

A、新数据准备

① 用户行为日志

启动日志采集通道,包括 Zookeeper,Kafka,Flume 等。

修改 hadoop102,hadoop103 两台节的 /opt/module/applog/application.yml文件,将模拟日期改为 2020-06-17 如下

#业务日期
mock.date: "2020-06-17"

执行生成日志的脚本

# lg.sh

等待片刻,观察 HDFS 是否出现 2020-06-17 的日志文件

② 业务数据

修改 /opt/module/db_log/application.properties,将模拟日期修改为2020-06-17,如下

#业务日期
mock.date=2020-06-17

进入到 /opt/module/db_log 路径,执行模拟生成业务数据的命令,如下

# java -jar gmall2020-mock-db-2021-01-22.jar

观察 mysql 的 gmall 数据中是否出现 2020-06-17 的数据

B、启动 Azkaban

注意需使用 azkaban 用户启动 Azkaban

①启动 Executor Server

在各节点执行以下命令,启动Executor

[root@hadoop102 ~]# sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-exec;bin/start-exec.sh"
[root@hadoop103 ~]# sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-exec;bin/start-exec.sh"
[root@hadoop104 ~]# sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-exec;bin/start-exec.sh"

② 激活 Executor Server,任选一台节点执行以下激活命令即可

[root@hadoop102 ~]# curl http://hadoop102:12321/executor?action=activate
[root@hadoop102 ~]# curl http://hadoop103:12321/executor?action=activate
[root@hadoop102 ~]# curl http://hadoop104:12321/executor?action=activate

③ 启动Web Server

[root@hadoop102 ~]# sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-web;bin/start-web.sh"

C、全流程调度

① 工作流参数
在这里插入图片描述
② 运行结果

在这里插入图片描述

2. 查看血缘依赖

此时在通过 Atlas 查看 Hive 元数据,即可发现血缘依赖

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在森林中麋了鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值