基于CDH6.2.0的Atlas-2.1.0安装部署避坑指南

      最近有数据治理的需求,在研究apache Atlas时,发现atlas安装时依赖众多,不小心就会踩坑,真可谓是使用只需二分钟,安装却要两小时!现在把安装过程以及中间可能遇到的坑总结一下。

目录

一、编译

1.1 下载源码

1.2 修改pom文件中对应软件的版本

 1.3 修改源码

 1.4 编译源码

二、安装

2.1 修改配置文件 atlas-application.properties

2.2 修改 atlas-env.sh

2.3 启动Atlas

 三、集成Hive

3.1 拷贝hive钩子程序包

3.2 拷贝配置文件atlas-application.properties

3.3 拷贝hive外部依赖包

3.4 配置hive的环境变量

3.5 修改hive的配置项

3.6 将hive元数据全量导入atlas


一、编译

1.1 下载源码

Atlas不提供安装包,需要下载源码包 ,自行编译打包。

源码官方下载地址: Apache Atlas – Data Governance and Metadata framework for HadoopApache Atlas – Data Governance and Metadata framework for Hadoophttps://atlas.apache.org/#/Downloads

此处出现坑一: 

如果你目前使用的hive是2.x版本,就不建议你使用最新的2.2.0版本了,直接下载2.1.0版本,不然你可能会和我一样,趟过了众多的坑之后,终于安装成功,hive也集成好了,却最终发现hive表的血缘关系无法正常显示,你说你崩溃不?

1.2 修改pom文件中对应软件的版本

此处出现坑二:

因为我们的大数据环境是基于CDH-6.2.0,Atlas的索引打算用ElasticSearch来存,所以必须把pom文件中修改成对应的版本,尤其是ElasticSearch,默认是5.6.4。如果是用solr做索引的存储的话,记得修改solr的版本号。

源码解压后进入到apache-atlas-sources-2.1.0目录,然后编辑 pom.xml文件,修改如下部分对应cdh的版本,如下图所示:

 重点修改hadoop.version,hbase.version,hive.version,elasticsearch.version

因为maven中央仓库里没有cdh相关的jar包,所以在pom文件中需要添加cloudera的镜像,在pom文件中找到repositories,然后添加cloudera的镜像地址 :

         <repository>
             <id>cloudera</id>
          <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
       </repository>

如下图所示:

 1.3 修改源码

此处出现坑三:

atlas默认支持的hive是3.1版本,不修改源码的话编译会报错,编译不成功。

所需修改的源码有两处,一处是:

apache-atlas-sources-2.1.0/addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java

在第577行

String catalogName = hiveDB.getCatalogName() != null ? hiveDB.getCatalogName().toLowerCase() : null;

改为

String catalogName = null;

另一处是在: 

apache-atlas-sources-2.1.0/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java

在第 81行

this.metastoreHandler = (listenerEvent != null) ? metastoreEvent.getIHMSHandler() : null;

改为

this.metastoreHandler = null;

 1.4 编译源码

此处出现坑四:

编译需要提前安装好jdk和maven环境,jdk需要jdk8_151以上,maven需要3.5.0以上,maven的仓库地址用官方地址就可以,不要用阿里云的地址,不然sqoop-1.4.6.2.3.99.0-195.jar这个依赖你可能会下载不下来。

jdk和maven环境搭建好以后,在apache-atlas-sources-2.1.0目录下执行

编译命令:  mvn clean  -DskipTests package -Pdist

编译的过程比较慢,大约需要40分钟,耐心等待编译完成,看到BUILD SUCCESS 信息,说明编译成功。

编译好的安装包在 apache-atlas-sources-2.1.0/distro/target 目录下,能看到一些打包好后的tar包。

其中apache-atlas-2.1.0-server.tar.gz 就是atlas的主程序,带hook字样的都是一些集成该模块需要的钩子插件。 

二、安装

2.1 修改配置文件 atlas-application.properties

将apache-atlas-2.1.0-server.tar.gz 解压后,进入到apache-atlas-2.1.0/conf目录,编辑 atlas-application.properties 文件 。

  • 修改hbase相关配置

atlas.graph.storage.hostname 修改成安装hbase的关联zookeeper地址。

  • 修改ES相关配置

因为选择es存储atlas的索引,所以需要将atlas.graph.index.search.backend 改成elasticsearch

然后将 atlas.graph.index.search.hostname 配置成es集群的地址,如下图所示:

 

  • 修改kafka相关配置

根据实际情况正确修改kafka的三个配置项。

atlas.kafka.data,atlas.kafka.zookeeper.connect,atlas.kafka.bootstrap.servers

  • 修改atlas服务端口和访问地址(非必需)

atlas默认的端口是21000,和impala端口冲突,如果集群中有端口冲突则需要修改,否则不用修改。

修改配置项:atlas.server.http.port和atlas.rest.address

 

  • 修改Audit hbase表 相关的zookeeper地址

修改配置项 atlas.audit.hbase.zookeeper.quorum ,和上面配置hbase的zookeeper保持一致即可。

2.2 修改 atlas-env.sh

在apache-atlas-2.1.0/conf目录下编辑atlas-env.sh
加入JAVA_HOME和hbase配置文件的路径信息:

export JAVA_HOME=/sata1/bigdata/apps/jdk1.8.0_181
export HBASE_CONF_DIR=/etc/hbase/conf

2.3 启动Atlas

修改atlas-application.properties和atlas-env.sh完成后,进入到apache-atlas-2.1.0/bin目录

然后执行启动命令: ./atlas_start.py

耐心等待启动完全完成,然后就可以在浏览器登录到配置的端口进行访问了,默认用户名密码都是admin

 三、集成Hive

3.1 拷贝hive钩子程序包

解压hive钩子插件apache-atlas-2.1.0-hive-hook.tar.gz ,并将解压出来的hook和hook-bin目录拷贝到apache-atlas-2.1.0目录下。

3.2 拷贝配置文件atlas-application.properties

执行scp命令将atlas-application.properties拷贝到所有安装hive的服务器的 /etc/hive/conf目录下。

此处出现坑五:

因为在cdh中,如果修改了hive的配置并重启的话,/etc/hive/conf下的文件会被清空重新生成,拷过去的atlas-application.properties会被删除掉,因此需要将atlas-application.properties文件压缩到apache-atlas-2.1.0/hook/hive的atlas-plugin-classloader-2.1.0.jar中。

首先进入到 apache-atlas-2.1.0/conf目录下(重要,必须在此目录下!!!)

执行命令:  zip -u ../hook/hive/atlas-plugin-classloader-2.1.0.jar ./atlas-application.properties

若如zip命令需要先安装好zip

3.3 拷贝hive外部依赖包

拷贝 apache-atlas-2.1.0/hook/hive目录下的 atlas-hive-plugin-impl ,atlas-plugin-classloader-2.1.0.jar , hive-bridge-shim-2.1.0.jar 到所有安装hive的服务器的 

/opt/cloudera/parcels/CDH/lib/hive/lib目录和/opt/cloudera/parcels/CDH/lib/hive/auxlib目录下。(一定要拷贝到所有安装hive的服务器上!)

3.4 配置hive的环境变量

此处出现坑六:

需要在安装atlas的服务器上配置hive的环境变量,否则在第一次全量导入hive元数据的时候会报错找不到HIVE_HOME。

添加以下内容:
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
export HIVE_CONF_DIR=/etc/hive/conf
export PATH=$HIVE_HOME/bin:$PATH

执行以下命令使配置生效:
source /etc/profile

3.5 修改hive的配置项


登录到cdh的页面,点击hive配置,然后搜索 hive-site.xml ,找到如下三个配置项:

hive-site.xml 的 Hive 服务高级配置代码段(安全阀)

hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)

hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)

然后给三个配置项分别添加配置,名称是:hive.exec.post.hooks ,值为:
org.apache.atlas.hive.hook.HiveHook,org.apache.hadoop.hive.ql.hooks.LineageLogger

此处出现坑七:

配置项hive.exec.post.hooks的值一定要添加上org.apache.hadoop.hive.ql.hooks.LineageLogger,否侧hive字段级别的血缘关系将无法显示!

如下图所示:

配置修改完后成保存,然后重启hive。

3.6 将hive元数据全量导入atlas

进入到 apache-atlas-2.1.0/hook-bin目录,然后执行命令: import-hive.sh

然后分别输入atlas的用户名和密码admin即可,等待导入完成,就可以在页面处看到hive的元数据信息了。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值