apache atlas
1.官网地址:
https://atlas.apache.org/#/
下载地址:
https://atlas.apache.org/#/Downloads
2.架构原理
3.各组件版本
Atlas 1.1.0 + cdh 5.16.2 + solr 7.7.3
组件 版本
Flume NG 1.6.0+cdh5.16.2+196
Hadoop 2.6.0+cdh5.16.2+2863
MapReduce 1 2.6.0+cdh5.16.2+2863
HDFS 2.6.0+cdh5.16.2+2863
HBase 1.2.0+cdh5.16.2+496
Hive 1.1.0+cdh5.16.2+1450
Kafka 2.2.1+kafka4.1.0
版本说明:
1.atlas不可使用2.0以上的版本,因为2.0以上的版本需要2.0以上的hbase。如果使用2.0的atlas,1.2的hbase则在启动atlas时会报如下错误。
- atlas要求solr版本5.0以上,而 cdh 5.16.2中的solr是4.10.3+cdh5.16.2。故需要单独安装一个solr5.0以上版本。
4.编译(建议本地编译)
在官网下载 atlas 1.1.0 的源码 apache-atlas-1.1.0-sources.tar.gz
解压之后用idea打开编译 (jdk 1.8 maven 3.5以上)
编译1:使用外部hbase与solr
mvn clean -DskipTests package -Pdist
编译2:使用atlas自带的hbase与solr
mvn clean -DskipTests package -Pdist,embedded-hbase-solr
因cdh中已有hbase故采用编译1。
编译过程:
1.setting配置aliyun镜像:
nexus-aliyun
central,!jeecg,!jeecg-snapshots,!mapr-releases
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
2. 修改pom.xml
若出现如下错误:
将如下镜像地址注解掉。
typesafe
Typesafe Repository
http://repo.typesafe.com/typesafe/releases/
编译结束之后得到我们需要的安装包与目录:
distro/target目录下有安装所需的目录与安装包
5.安装
5.1 安装solr 7.7.3
将安装包上传到服务器的/home/intellif
解压tar包:
tar -zxvf solr-7.7.3.tgz
mv solr-7.7.3/ solr
启动solr
solr/bin/solr start
停止solr
solr/bin/solr stop
启动之后登入页面 http://192.168.11.191:8983
5.2 安装atlas
将编译好的apache-atlas-1.1.0-bin目录上传到/home/intellif
cd apache-atlas-1.1.0-bin
5.2.1 集成hbase
- 修改conf/atlas-application.properties配置
atlas.graph.storage.hostname=ds1:2181
- 修改conf/atlas-env.sh配置
export HBASE_CONF_DIR=/etc/hbase/conf/
5.2.2 集成solr
- 修改conf/atlas-application.properties配置
因用的是solr standalone,所以注释掉solr cloud的配置
#Solr cloud mode properties
#atlas.graph.index.search.solr.mode=cloud
#atlas.graph.index.search.solr.zookeeper-url=
#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
- 创建solr collection
/home/intellif/solr/bin/solr create -c vertex_index -d /home/intellif/apache-atlas-1.1.0-bin/apache-atlas-1.1.0/conf/solr -shards 1 -replicationFactor 1
/home/intellif/solr/bin/solr create -c edge_index -d /home/intellif/apache-atlas-1.1.0-bin/apache-atlas-1.1.0/conf/solr -shards 1 -replicationFactor 1
/home/intellif/solr/bin/solr create -c fulltext_index -d /home/intellif/apache-atlas-1.1.0-bin/apache-atlas-1.1.0/conf/solr -shards 1 -replicationFactor 1
查看solr页面是否创建成功
5.2.3 集成kafka
修改conf/atlas-application.properties配置
atlas.notification.embedded=false
atlas.kafka.data=${sys:atlas.home}/data/kafka
atlas.kafka.zookeeper.connect=ds1:2181
atlas.kafka.bootstrap.servers=ds1:9092
5.2.4 atlas server配置
修改conf/atlas-application.properties配置
######### Server Properties #########
atlas.rest.address=http://localhost:21000
If enabled and set to true, this will run setup steps when the server starts
#atlas.server.run.setup.on.start=false
######### Entity Audit Configs #########
atlas.audit.hbase.tablename=apache_atlas_entity_audit
atlas.audit.zookeeper.session.timeout.ms=1000
atlas.audit.hbase.zookeeper.quorum=ds1:2181
5.2.5 集成hive
- 修改conf/atlas-application.properties配置,新增
#Hive
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary
- 修改hive配置 hive-site.xml
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
3.安装Hive Hook
1.将编译好的apache-atlas-1.1.0-hive-hook上传到/home/intellif中
2.将 Hive Hook 依赖复制到 Atlas 安装路径
cp -r apache-atlas-hive-hook-1.1.0/* /home/intellif/apache-atlas-1.1.0-bin/apache-atlas-1.1.0/
- 修改 hive-env.sh配置(也可以在页面上修改)
export HIVE_AUX_JARS_PATH=/home/intellif/apache-atlas-1.1.0-bin/apache-atlas-1.1.0/hook/hive
4.将 Atlas 配置文件conf/atlas-application.properties配置
拷贝到hive/conf 目录
cp /home/intellif/apache-atlas-1.1.0-bin/apache-atlas-1.1.0/conf/atlas-application.properties /etc/hive/conf
- 启动atlas
启动前确保hdfs,yarn,zookeper,kafka,hbase,solr服务已启动
启动:
bin/atlas_start.py
停止:
bin/atlas_stop.py
启动之后atlas的访问地址 http://192.168.11.191:21000
注意:等待时间大概 2 分钟。
账户:admin
密码:admin
7.导入hive元数据
未导入hive元数据时,atlas页面找不到hive的表
1.导入hive元数据
执行:
apache-atlas-1.1.0/hook-bin/import-hive.sh
按提示输入用户名:admin;输入密码:admin
Enter username for atlas :- admin
Enter password for atlas :- admin
等待片刻,出现以下日志,即表明导入成功
Hive Meta Data import was successful!!!
2.导入bug解决
问题1:
解决1: 导入时hive找不到atlas的配置
cp conf/atlas-application.properties /etc/hive/conf/
问题2:
解决2:
cp server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-1.8.3.jar hook/hive/atlas-hive-plugin-impl/
cp server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-json-provider-2.9.2.jar hook/hive/atlas-hive-plugin-impl/
cp server/webapp/atlas/WEB-INF/lib/jackson-module-jaxb-annotations-2.9.8.jar hook/hive/atlas-hive-plugin-impl/
3.查看hive元数据
8.数据血缘
捕获Spark数据血缘可以采用以下两大类的方式:
- Connector, 优点自动化数据捕获
- REST API,优点定制化程度高
(一) spark-atlas-connector
是Hortonworks开源的Connector,最后一次代码更新是在2019年7月12日,从实际的代码编译结果来看,与Spark 3.1.1存在兼容性问题。该项目默认的配置(pom.xml):
Spark 2.4.0
Scala 2.11.12
Atlas 2.0.0
如果是2.4.0本的Spark可以考虑采用该connector。
对于该项目使用文档的一些补充,如果使用rest api方式进行数据的自动填充,请配置以下参数:
rest.address
client.username
client.password
这些配置选项来源于AtlasClientConf.scala文件。
(二)spline
是目前活跃度较高的捕获Spark数据血缘的开源项目,但是它与Atlas兼容性不好,而是自成一体,但是该项目对于Spark的兼容性非常好。
待完善
附上编译好的atlas 1.1
链接:https://pan.baidu.com/s/1F3PNUyDr_zCyAcAmlXqQGg
提取码:fan2