CentOS7虚拟机部署元数据管理Atlas
1. Atlas 概述
Apache Atlas 为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对 这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。
1)表与表之间的血缘依赖
2)字段与字段之间的血缘依赖
2. Atlas 架构原理
2. Atlas 安装
1)Atlas 官网地址:https://atlas.apache.org/
2)文档查看地址:https://atlas.apache.org/2.1.0/index.html
3)下载地址:https://www.apache.org/dyn/closer.cgi/atlas/2.1.0/apache-atlas-2.1.0-sources.tar.gz
2.1 安装前环境准备
Atlas 安装分为:集成自带的 HBase + Solr;集成外部的 HBase + Solr。通常企业开发中 选择集成外部的 HBase + Solr,方便项目整体进行集成操作。
以下是Atlas所以依赖的环境及集群规划。本文只包含Solr和Atlas的安装指南。
1)安装JDK,Hadoop参考
https://www.jianshu.com/p/2a947044f2dc
2)安装 Zookeeper参考
https://www.jianshu.com/p/8935a8a34d6a
3)安装 Kafka参考
https://www.jianshu.com/p/a493130ca48a
4)安装 Hbase参考
https://www.jianshu.com/p/5613ceb3ab38
5)安装Hive参考
https://www.jianshu.com/p/741fa67cf66b
2.2 安装Solr-7.7.3
- 在每台节点创建系统用户solr
[root@bigdata101 src]# useradd solr
[root@bigdata101 src]# echo solr | passwd --stdin solr
更改用户 solr 的密码 。
passwd:所有的身份验证令牌已经成功更新。
(superset) [root@bigdata102 ~]# useradd solr
(superset) [root@bigdata102 ~]# echo solr | passwd --stdin solr
更改用户 solr 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@bigdata103 ~]# echo solr | passwd --stdin solr
更改用户 solr 的密码 。
passwd:所有的身份验证令牌已经成功更新。
- 解压solr-7.7.3.tgz,并改名为solr
[root@bigdata101 src]# tar -zxvf solr-7.7.3.tgz
[root@bigdata101 src]# mv solr-7.7.3/ solr
- 修改solr目录的所有者为solr用户
[root@bigdata101 src]# chown -R solr:solr solr
- 修改solr配置文件
修改solr.in.sh文件中的以下属性
[root@bigdata101 src]# vim solr/bin/solr.in.sh
ZK_HOST="bigdata101:2181,bigdata102:2181,bigdata103:2181"
- 分发solr
[root@bigdata101 src]# xsync solr
- 启动solr集群
1)启动Zookeeper集群
[root@bigdata101 src]# zk.sh start
2)启动solr集群
出于安全考虑,不推荐使用root用户启动solr,此处使用solr用户,在所有节点执行以下命令启动solr集群
[root@bigdata101 src]# sudo -i -u solr /usr/local/src/solr/bin/solr start
出现 Happy Searching! 字样表明启动成功。
说明:上述警告内容是:solr推荐系统允许的最大进程数和最大打开文件数分别为65000和65000,而系统默认值低于推荐值。如需修改可参考以下步骤,修改完需要重启方可生效,此处可暂不修改。
(1)修改打开文件数限制
修改/etc/security/limits.conf文件,增加以下内容
* soft nofile 65000
* hard nofile 65000
(2)修改进程数限制
修改/etc/security/limits.d/20-nproc.conf文件
* soft nproc 65000
(3)重启服务器
- 访问web页面
默认端口为8983,可指定三台节点中的任意一台IP
http://bigdata101:8983/solr/#/
提示:UI界面出现Cloud菜单栏时,Solr的Cloud模式才算部署成功。
2.3 安装Atlas2.1.0
1.把apache-atlas-2.1.0-server.tar.gz 上传到bigdata101的/usr/local/src目录下
2.解压apache-atlas-2.1.0-server.tar.gz
[root@bigdata101 src]# tar -zxvf apache-atlas-2.1.0-server.tar.gz
3.修改apache-atlas-2.1.0 的名称为atlas
[root@bigdata101 src]# mv apache-atlas-2.1.0 atlas
2.4 Atlas配置
1.修改atlas-application.properties配置文件中的以下参数
[root@bigdata101 src]# cd atlas/
[root@bigdata101 atlas]# vim conf/atlas-application.properties
atlas.graph.storage.hostname=bigdata101:2181,bigdata102:2181,bigdata103:2181
2.修改atlas-env.sh配置文件,增加以下内容
[root@bigdata101 atlas]# vim conf/atlas-env.sh
export HBASE_CONF_DIR=/usr/local/src/hbase-2.0.5/conf
2.5 Atlas集成Solr
1.修改atlas/conf/atlas-application.properties配置文件中的以下参数
[root@bigdata101 atlas]# vim conf/atlas-application.properties
atlas.graph.index.search.backend=solr
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=bigdata101:2181,bigdata102:2181,bigdata103:2181
- 创建solr collection
root@bigdata101 atlas]# sudo -i -u solr /usr/local/src/solr/bin/solr create -c vertex_index -d /usr/local/src/atlas/conf/solr/ -shards 3
Created collection 'vertex_index' with 3 shard(s), 1 replica(s) with config-set 'vertex_index'
[root@bigdata101 atlas]# sudo -i -u solr /usr/local/src/solr/bin/solr create -c edge_index -d /usr/local/src/atlas/conf/solr/ -shards 3
Created collection 'edge_index' with 3 shard(s), 1 replica(s) with config-set 'edge_index'
[root@bigdata101 atlas]# sudo -i -u solr /usr/local/src/solr/bin/solr create -c fulltext_index -d /usr/local/src/atlas/conf/solr/ -shards 3 -replicationFactor 2
Created collection 'fulltext_index' with 3 shard(s), 2 replica(s) with config-set 'fulltext_index'
2.6 Atlas集成Kafka
修改conf/atlas-application.properties配置文件中的以下参数
[root@bigdata101 atlas]# vim conf/atlas-application.properties
atlas.notification.embedded=false
atlas.kafka.data=/usr/local/src/kafka_2.11-0.11.0.0/data
atlas.kafka.zookeeper.connect=bigdata101:2181,bigdata102:2181,bigdata103:2181/kafka
atlas.kafka.bootstrap.servers=bigdata101:9092,bigdata102:9092,bigdata103:9092
2.7 Atlas Server配置
- 修改conf/atlas-application.properties配置文件中的以下参数
######### Server Properties #########
atlas.rest.address=http://bigdata101: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.zookeeper.quorum=bigdata101:2181,bigdata102:2181,bigdata103:2181
- 记录性能指标,进入/usr/local/atlas/conf/路径,修改当前目录下的atlas-log4j.xml
[root@bigdata101 atlas]# vim conf/atlas-log4j.xml
#去掉如下代码的注释
<appender name="perf_appender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="${atlas.log.dir}/atlas_perf.log" />
<param name="datePattern" value="'.'yyyy-MM-dd" />
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d|%t|%m%n" />
</layout>
</appender>
<logger name="org.apache.atlas.perf" additivity="false">
<level value="debug" />
<appender-ref ref="perf_appender" />
</logger>
2.8 Atlas集成Hive
- 安装Hive Hook
1)解压Hive Hook
[root@bigdata101 src]# tar -zxvf apache-atlas-hive-hook-2.1.0.tar.gz
2)将Hive Hook依赖复制到Atlas安装路径
[root@bigdata101 src]# cp -r apache-atlas-hive-hook-2.1.0/* atlas/
3)修改/usr/local/apache-hive-3.1.2-bin/conf/hive-env.sh配置文件
增加如下参数
export HIVE_AUX_JARS_PATH=/usr/local/src/atlas/hook/hive
- 修改Hive配置文件,在/usr/local/hive/conf/hive-site.xml文件中增加以下参数,配置Hive Hook。
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
- 修改/usr/local/atlas/conf/atlas-application.properties配置文件中的以下参数
######### Hive Hook Configs #######
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary
- 将Atlas配置文件/usr/local/atlas/conf/atlas-application.properties
拷贝到/usr/local/hive/conf目录
[root@bigdata101 src]# cp atlas/conf/atlas-application.properties apache-hive-3.1.2-bin/conf/
2.9Atlas启动
- 启动Atlas所依赖的环境
1)启动Hadoop集群
(1)在NameNode节点执行以下命令,启动HDFS
[root@bigdata101~]# start-dfs.sh
(2)在ResourceManager节点执行以下命令,启动Yarn
[root@bigdata101~]# start-yarn.sh
2)启动Zookeeper集群
[root@bigdata101~]# zk.sh start
3)启动Kafka集群
[root@bigdata101~]# kf.sh start
4)启动Hbase集群
在HMaster节点执行以下命令,使用hbase用户启动HBase
[root@bigdata101 src]# start-hbase.sh
5)启动Solr集群
在所有节点执行以下命令,使用solr用户启动Solr
[root@bigdata101 src]# sudo -i -u solr /usr/local/src/solr/bin/solr start
*** [WARN] *** Your open file limit is currently 1024.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] *** Your Max Processes Limit is currently 4096.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Waiting up to 180 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=72572). Happy searching!
6)进入/usr/local/atlas路径,启动Atlas服务
[root@bigdata101 atlas]# bin/atlas_start.py
File "bin/atlas_start.py", line 107
print "Cannot run setup when server is running."
^
SyntaxError: Missing parentheses in call to 'print'
切换到python2环境再次启动:
[root@bigdata101 atlas]# source activate py2
(py2) [root@bigdata101 atlas]# bin/atlas_start.py
starting atlas on host localhost
starting atlas on port 21000
..............................................................................................................................................................................................................................................................................................................
Apache Atlas Server started!!!
提示:
(1)错误信息查看路径:/opt/module/atlas/logs/*.out和application.log
(2)停止Atlas服务命令为atlas_stop.py
7)访问Atlas的WebUI
访问地址:http://bigdata101:21000
注意:等待若干分钟。
账户:admin
密码:admin
登录后:
填坑
部署完成后到hive客户端执行SQL报错,如下图所示:
解决办法:
- /usr/local/src/atlas/hook/hive/atlas-plugin-classloader-2.1.0.jar包拷贝到
/usr/local/src/atlas/conf目录,即和atlas-application.properties同一个目录。 - 执行以下命令,把atlas-application.properties打入atlas-plugin-classloader-1.2.0.jar
zip -u atlas-plugin-classloader-1.2.0.jar atlas-application.properties
再次进入hive,执行SQL正常!