记apache atlas导入hive元数据过程及问题处理

        Apache Atlas是大数据管理元数据的一个组件,可以集成Hive、Hbase、Kafka等数据源,atlas会将数据源中元数据的更改记录下来,并形成元数据之间的血缘分析关系图,下面记录导入Hive元数据的过程及碰到问题以及解决方法。

安装后配置

        首先,在安装好Atlas后,需要修改一些配置。配置文件位于atlas安装目录下/conf/atlas-application.properties文件中。

        1.配置JanusGraph使用HBase作为持久化引擎,atlas.graph

        2.设置以下属性以配置JanusGraph使用Solr作为索引搜索引擎

        3.配置kafka,以'atlas.kafka '作为前缀。

集成Hive的过程

        Atlas Hook钩子向Hive注册,监听创建/更新/删除操作,并通过Kafka通知更新Atlas中的元数据,以获取Hive中的更改。按照下面的说明在Hive中设置Atlas钩子。

        本例使用atlas2.3.0版本。

hive配置

  1. 添加以下内容在hive-site.xml中设置Atlas Hook
<property>
    <name>hive.exec.post.hooks</name>
    <value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
  1. 解压apache-atlas-2.3.0-hive-hook.tar.gz文件
  2. 复制解压后的文件中/hook/hive到atlas安装目录下的/hook/hive
  3. 在hive-env.sh配置文件中添加'export HIVE_AUX_JARS_PATH=atlas安装目录/hook/hive'
  4. 复制atlas安装目录/conf下atlas-application.properties文件到hive conf目录

导入预定义元数据类型

  1. 解压apache-atlas-2.3.0-sources.tar.gz文件
  2. 复制解压后文件中/addons/models到atlas安装目录
  3. 重新启动atlas及hive,此时可以在atlas UI中选择到hive_db

导入hive元数据

  1. 导入hive元数据,运行命令import-hive .sh。import-hive在安装目录的hook-bin下。若未找到,可在apache-atlas-2.3.0-hive-hook目录下,执行命令如下
    cd apache-atlas-hive-hook-2.3.0/hook-bin/
    ./import-hive.sh
    说明:若只导入hive下其中一个库,可在命令后加参数 -d 数据库名,如
    ./import-hive.sh -d database_name
  2. 成功导入后,可以在atlas UI中搜索到导入的元数据

导入hive元数据,执行import-hive遇到的问题

问题一: 执行import-hive.sh命令,提示未找到atlas-application.properties。

    解决:检查conf/hive下是否有atlas-application.properties文件,若没有,将文件拷贝到hive配置目录下。

问题二: 执行import-hive.sh命令,错误信息如下:

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;

    解决:此错误为javax.ws.rs-api-2.1.1.jar与执行命令中某个类有冲突了。所以在运行命令时需要排除冲突类。在import-hive.sh命令中找到HIVE_CP_EXCLUDE_LIST="log4j-slf4j-impl\|log4j-1.2-api\|log4j-api\|log4j-core\|log4j-web",修改为HIVE_CP_EXCLUDE_LIST="log4j-slf4j-impl\|log4j-1.2-api\|log4j-api\|log4j-core\|log4j-web\|javax.ws.rs-api-2.1.1"。

问题三:执行import-hive.sh命令,提示导入失败。失败日志提示不存在hive-db。

    解决:此错误表示未将atlas预定义类型导入。此时需要检查atlas安装路径下是否有models文件夹,此文件中存放了预定义元数据的一些json文件。查看上面导入预定义元数据类型,根据提示增加models文件夹后需要重启atlas。

问题四:执行import-hive.sh命令,只导入部分元数据,并报Read timed out错误

    解决:此错误可能由于kafka配置地址不正确或不存在Topics,atlas服务一直在重新检查kafka,导致调用注册元数据服务时超时。检查kafka配置路径是否正确,注意,在kafka中需要手动增加两个topics:ATLAS_ENTITIES、ATLAS_HOOK。

问题五:在hive中进行create等操作时,未将操作变动同步到atlas

    解决:此错误可能为hive配置文件下的atlas-application文件配置中的kafka配置存在问题,最好将atlas中的配置文件直接拷贝到hive配置文件下。

  • 31
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值