数仓元数据管理之Atlas 整合hiveHBaseSqoop(2.1.0)

it2026-10-07  3

数仓元数据管理之Atlas 整合hive和HBase(2.1.0)

1. 整合Hive

配置了hive的钩子后,在hive中做任何操作,都会被钩子所感应到,并以事件的形式发布到kafka,然后,atlas的Ingest模块会消费到kafka中的消息,并解析生成相应的atlas元数据写入底层的Janus图数据库来存储管理;

修改hive-env.sh

export HIVE_AUX_JARS_PATH=/opt/apps/apache-atlas-2.1.0/hook/hive 修改hive-site.xml <property> <name>hive.exec.post.hooks</name> <value>org.apache.atlas.hive.hook.HiveHook</value> </property>

注意,这里其实是执行后的监控,可以有执行前,执行中的监控。其实就是一个执行生命周期的回调监控。

同步配置 拷贝atlas配置文件atlas-application.properties到hive配置目录 添加两行配置: atlas.hook.hive.synchronous=false atlas.rest.address=http://doit33:21000 hive元数据import atlas安装之前,hive中已存在的表,钩子是不会自动感应并生成相关元数据的; 可以通过atlas的一个工具,来对已存在的hive库或表进行元数据导入; bin/import-hive.sh bin/import-hive.sh [-d <database regex> OR --database <database regex>] [-t <table regex> OR --table <table regex>] bin/import-hive.sh [-f <filename>]

bin/import-hive.sh 这是全量导入

配置好钩子之后,hive中尝试创建一个测试表,再看一下atlas中是否可以搜索到。可以就算配置成功了。

2. 整合HBase

注册hook 编辑hbase‐site.xml,添加如下配置 <property> <name>hbase.coprocessor.master.classes</name> <value>org.apache.atlas.hbase.hook.HBaseAtlasCoprocessor</value> </property> 引入依赖 ln ‐s <atlas package>/hook/hbase/* <hbase‐home>/lib/ 引入配置 拷贝一个atlas‐application.properties文件到hbase的conf目录中,并添加如下配置 atlas.hook.hbase.synchronous=false atlas.hook.hbase.numRetries=3 atlas.hook.hbase.queueSize=10000 atlas.cluster.name=primary atlas.kafka.zookeeper.connect=doit01:2181,doit02:2181,doit:2181 atlas.kafka.zookeeper.connection.timeout.ms=30000 atlas.kafka.zookeeper.session.timeout.ms=60000 atlas.kafka.zookeeper.sync.time.ms=20

3. 整合Sqoop

注册hook 编辑sqoop‐site.xml,添加如下配置 <property> <name>sqoop.job.data.publish.class</name> <value>org.apache.atlas.sqoop.hook.SqoopHook</value> </property> 引入依赖 ln /opt/apps/apache‐atlas‐2.1.0/hook/sqoop/* /opt/apps/sqoop‐1.4.7/lib/ 引入配置 # 拷贝一个atlas‐application.properties文件到sqoop的conf目录中,并添加如下配置 atlas.hook.sqoop.synchronous=false atlas.hook.sqoop.numRetries=3 atlas.hook.sqoop.queueSize=10000
最新回复(0)