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源配置。

添加阿里源和中央仓库。

<mirror>
    <id>mvn</id>
    <mirrorOf>mvnrepository</mirrorOf>
    <url>http://mvnrepository.com/</url>
</mirror>

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

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

 

编译打包命令

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查看限制

 

这发现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目录下

 

  • 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 高级配置代码段(安全阀)

 

 

配置搜索HIVE_AUX_JARS_PATH

 

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

<property>
  <name>hive.exec.post.hooks</name>
  <value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
<property>
  <name>hive.reloadable.aux.jars.path</name>
  <value>/opt/atlas/hook/hive</value>
</property>

 

       Sqoop

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

<property>
  <name>sqoop.job.data.publish.class</name>
  <value>org.apache.atlas.sqoop.hook.SqoopHook</value>
</property>

 

在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元数据,以及血缘图

部分内容摘自:

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

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

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Apache Atlas是一个开源的数据治理和元数据管理平台,用于支持数据跟踪、数据流程管控、数据信任和数据合规性等任务。它提供了一套完整的数据治理解决方案,包括数据发现、数据分类、数据关系建模和元数据管理等功能。 CDH(Cloudera Distribution for Hadoop)是由Cloudera公司提供的一种分布式的Hadoop生态系统。CDH整合了许多Apache开源项目,如Hadoop、Hive、HBase等,以及Cloudera自己的一些增强功能,提供了一个完整的Hadoop解决方案。CDH可用于大规模数据处理和分析,并具备高可靠性、高可扩展性和高性能等特性。 Apache AtlasCDH是可以进行整合使用的。Apache Atlas可以通过集成CDH,实现对CDH平台上的数据进行元数据管理和数据治理。具体来说,Apache Atlas可以通过自动识别CDH平台上的各种数据源,并将其元数据信息进行抓取和管理。同时,Apache Atlas可以通过数据分类和关系建模等功能,对这些数据进行进一步的理解和分析,帮助用户更好地管理和利用数据。 例如,Apache Atlas可以通过集成CDH中的Hive,自动发现并抓取Hive表的元数据信息,并提供搜索和浏览功能,方便用户查找和访问这些表。此外,Apache Atlas还支持定义和管理数据标签、数据血缘关系等功能,帮助用户更好地理解和追踪数据的来源和去向。 总之,Apache AtlasCDH的整合可以帮助用户更好地进行数据治理和元数据管理,提升数据的价值和可信度,同时也提供了更强大的数据分析和处理能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值