CDH6.1环境下部署Apache Atlas2.0及问题记录

Apache Atlas2.0部署手册

介绍

Atlas是一组可扩展和可扩展的核心基础治理服务,使企业能够有效地满足Hadoop中的合规性要求,并允许与整个企业数据生态系统集成。

Apache Atlas为组织提供了开放的元数据管理和治理功能,以建立其数据资产的目录,对这些资产进行分类和治理,并为数据科学家,分析师和数据治理团队提供围绕这些数据资产的协作功能。

特征:

  1. 元数据类型和实例
  2. 分类
  3. 血缘分析
  4. 数据安全
  • 环境准备

集群版本:Cloudear Hadoop 6.1

    Maven 3.5+

    Jdk1.8.0

  • 安装

  • 下载源码包

下载地址:https://www.apache.org/dyn/closer.cgi/atlas/2.0.0/apache-atlas-2.0.0-sources.tar.gz

wget https://mirror-hk.koddos.net/apache/atlas/2.0.0/apache-atlas-2.0.0-sources.tar.gz

解压缩

tar -zxvf apache-atlas-2.0.0-sources.tar.gz

 

  • 编译打包

编译前修改Maven源配置。

添加阿里源和中央仓库。


    mvn
    mvnrepository
    http://mvnrepository.com/



    alimaven
    central
    aliyun maven
    http://maven.aliyun.com/nexus/content/groups/public

否则编译过程中,某些包会下载不下来。

 

编译打包命令

export MAVEN_OPTS="-Xms2g -Xmx2g"

mvn clean -DskipTests install

由于采用zookeeper,hbase,kafka都是采用的外部依赖,所以打包的时候不用选择集成打包

mvn clean -DskipTests package -Pdist

编译过程中遇到以下异常,则需要检查maven版本和jdk版本。

Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-versions) on project

Maven-enforcer-plugin插件是对maven编译环境进行限制的

打开pom.xml查看限制

CDH6.1环境下部署Apache Atlas2.0及问题记录_第1张图片

 

这发现Maven版本要求为3.5.0+,而本地为3.6.0没有问题。

然后查看java版本

 

发现是JDK1.8的小版本小了。

故更改限制重新弄编译即可。

 

编译成功后的包都放在了

distro/target 目录下

 

Atlas服务就是apache-atlas-2.0.0-server,将它移动到我们/opt/atlas目录下

  • 配置修改修改atlas-env.sh

修改JAVA_HOME

export JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera

调大atlas服务的JVM内存

export ATLAS_SERVER_HEAP="-Xms15360m -Xmx15360m -XX:MaxNewSize=5120m -XX:MetaspaceSize=100M -XX:MaxMetaspaceSize=512m"

 

   修改atlas-application.properties

  • 修改Hbase依赖配置

#zookeeper集群地址

atlas.graph.storage.hostname=cdhmaster02:2181,cdhslave01:2181,cdhslave02:2181

 

  • 修改Solr索引依赖配置

这里我们采用Solr做索引的存储,如果选择elasticsearch可以参考官网文档进行配置

# Graph Search Index

atlas.graph.index.search.backend=solr

#Solr

#atlas2.0 只支持solrcloud,不支持http mode

atlas.graph.index.search.solr.mode=cloud

atlas.graph.index.search.solr.zookeeper-url=cdhmaster02:2181,cdhslave01:2181,cdhslave02:2181/solr

atlas.graph.index.search.solr.zookeeper-connect-timeout=60000

atlas.graph.index.search.solr.zookeeper-session-timeout=60000

atlas.graph.index.search.solr.wait-searcher=true
  • 修改kafka依赖配置

#是否使用嵌入的kafka,我选择使用外部的,设置为false

atlas.notification.embedded=false

atlas.kafka.zookeeper.connect=cdhmaster02:2181,cdhslave01:2181,cdhslave02:2181

atlas.kafka.bootstrap.servers=cdhmaster02:9092,cdhslave01:9092,cdhslave02:9092

 

  • 修改atlas服务相关配置
atlas.server.http.port=28000 #默认为21000和集群impala端口冲突

atlas.rest.address=http://cdhslave03:28000

atlas.audit.hbase.zookeeper.quorum=cdhmaster02:2181,cdhslave01:2181,cdhslave02:2181

 

  • 添加hive,sqoop的hook配置
######### Hive Hook Configs #######

atlas.hook.hive.synchronous=false

atlas.hook.hive.numRetries=3

atlas.hook.hive.queueSize=10000

######### Sqoop Hook Configs #######

atlas.hook.sqoop.synchronous=false

atlas.hook.sqoop.numRetries=3

atlas.hook.sqoop.queueSize=10000

 

启动过程中的坑

    由于配置文件修改过多次,而且atlas第一次启动的时候会将某些配置存储到Hbase当中,而后启动后端存储配置会默认覆盖配置文件中的配置

 

所以当第一次启动失败后,修改了配置,建议进入Hbase清空表后在重启

 

  • 集成Hive和Sqoop Hook

  • Atlas配置Hook

将apache-atlas-hive-hook-2.0.0/hook/和apache-atlas-sqoop-hook-2.0.0/hook/

复制到$ATLAS_HOME$/hook目录下

CDH6.1环境下部署Apache Atlas2.0及问题记录_第2张图片

 

  • Hive,sqoop配置Hook

   把atlas-application.properties打入atlas-plugin-classloader-2.0.0.jar

zip -u atlas-plugin-classloader-2.0.0.jar  atlas-application.properties

hive,sqoop两个都需要做此操作

 分发配置文件和Hook插件

 将atlas-application.properties文件夹复制到hive/conf和sqoop/conf目录下

CDH的配置文件目录都在 /etc下

/etc/hive/conf

/etc/sqoop/conf

将hook目录放到好管理的目录下,我这里选择/opt/atlas

以上操作需要在集群各个节点中执行

 

 

  • 在CDH中修改Hive,Sqoop配置文件

       Hive

配置搜索hive-site.xml的Hive客户端高级配置代码段

               hive-site.xml的Hive 服务高级配置代码段

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

 

CDH6.1环境下部署Apache Atlas2.0及问题记录_第3张图片

 

配置搜索HIVE_AUX_JARS_PATH

 

配置搜索hiveserver2,HiveServer2 环境高级配置代码段(安全阀)


  hive.exec.post.hooks
  org.apache.atlas.hive.hook.HiveHook


  hive.reloadable.aux.jars.path
  /opt/atlas/hook/hive

 

       Sqoop

搜索sqoop-site.xml 客户端高级配置代码段(安全阀)

CDH6.1环境下部署Apache Atlas2.0及问题记录_第4张图片


  sqoop.job.data.publish.class
  org.apache.atlas.sqoop.hook.SqoopHook

 

在sqoop lib中链接/hook/sqoop/*.jar

ln -s /opt/atlas/hook/sqoop/*.jar  /opt/cloudera/parcels/CDH-6.1.0-1.cdh6.1.0.p0.770702/lib/sqoop/lib/

ln -s /opt/atlas/hook/sqoop/atlas-sqoop-plugin-impl/*.jar  /opt/cloudera/parcels/CDH-6.1.0-1.cdh6.1.0.p0.770702/lib/sqoop/lib/

所有sqoop节点执行

 

问题记录  

在本人的环境中,配置atlas hook后使用sqoop出现以下异常:

java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration

原因是sqoop缺少commons-configuration jar包

将atlas源码中的 commons-configuration-1.10.jar上传到各个sqoop节点sqoop/lib目录下即可解决。

 

  • 启动使用Atlas

启动之前需要提前创建solr索引和kafka topic

实例化atlas配置文件

solrctl instancedir --create atlas ${ATLAS_HOME}/conf/solr

 

创建collection

solrctl collection --create vertex_index -s 1 -c atlas -r 1
solrctl collection --create edge_index -s 1 -c atlas -r 1
solrctl collection --create fulltext_index -s 1 -c atlas -r 1

 

    启动:

       bin/atlas_start.py

       初始密码admin admin

   

    导入Hive元数据:

       将hook/hive-bin下的import_hive.sh移动到bin目录下

       导入元数据之前需要配置HIVE_HOME和HIVE_CONF_DIR环境变量

进入系统就可以查看hive元数据,以及血缘图

CDH6.1环境下部署Apache Atlas2.0及问题记录_第5张图片

CDH6.1环境下部署Apache Atlas2.0及问题记录_第6张图片

部分内容摘自:

https://www.freesion.com/article/1976139811/ 

https://blog.csdn.net/Young2018/article/details/103930308/    屋顶看飞机

 

 

你可能感兴趣的:(Apache,Atlas)