CDH6.3 从0-1搭建部署Apache Atlas2.0 windows hive 元数据治理

1. 编译Atlas源码包:

1.1 环境准备:
1.1.1 win10
1.1.2 jdk1.8
1.1.3 maven 3.6.0 或 以上 (ps:必须使用3.6.0以上版本,我用的是3.6.3)
1. 下载 解压 安装 (下载地址:http://maven.apache.org/download.cgi)
2. 配置settings.xml 映射阿里云仓库 (位置MAVEN_HOME/conf/settings.xml 我的位置是 D:\learn\bigdata\apache-maven-3.6.3\conf\settings.xml)
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
	 <mirror>
		<id>ali</id>
		<mirrorOf>*</mirrorOf>
		<name>Nexus aliyun</name>
		<url>https://maven.aliyun.com/nexus/content/repositories/central</url>
	 </mirror>
	 <mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/central</url>
	 </mirror>
	 <mirror> 
		<id>aliyun-maven</id> 
		<mirrorOf>*</mirrorOf> 
		<name>aliyun maven</name> 
		<url>http://maven.aliyun.com/nexus/content/groups/public</url> 
	 </mirror>
	 <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>ali</name>
      <url>https://maven.aliyun.com/repository/public</url>
	 </mirror>
  </mirrors>
3. 配置maven环境变量

我的电脑–>属性–>高级系统设置–>环境变量–>系统变量模块–>新建–>变量名:MAVEN_HOME 变量值:你的MAVEN_HOME路径
dd
系统变量模块–>双击Path–>新建–>%MAVEN_HOME%\bin
在这里插入图片描述
4. 测试
打开黑窗口,输入命令 mvn -v 测试是否配置成功
在这里插入图片描述

1.2 编译Atlas源码包:
1.2.1 下载安装与配置
1)下载-解压-安装 (下载地址:http://atlas.apache.org/#/Downloads)
2)修改pom.xml文件 (我的路径是:D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0\pom.xml)
<hadoop.version>3.0.0</hadoop.version>
<hbase.version>2.1.0</hbase.version>
<kafka.version>2.2.1</kafka.version>
<zookeeper.version>3.4.5</zookeeper.version>

修改成与你的CDH相匹配的版本(ps:不要修改hive.version 否则后期会出现错误)

3)修改atlas-application.properties文件 (我的路径是:D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0\distro\src\conf\atlas-application.properties)
# wcb0 wcb1 wcb2 为主机名 若在服务器上没有配置主机名与ip映射  则使用ip地址
# 修改集成hbase的配置(没有则添加,以下都是)
atlas.graph.storage.hostname=wcb0:2181,wcb1:2181,wcb2:2181
# 修改集成solr的配置
atlas.graph.index.search.solr.zookeeper-url=wcb0:2181,wcb1:2181,wcb2:2181
# 修改集成kafka的配置
atlas.notification.embedded=false		    #false表示使用外置的kafka
atlas.kafka.zookeeper.connect=wcb0:2181,wcb1:2181,wcb2:2181
atlas.kafka.bootstrap.servers=wcb0:9092,wcb1:9092,wcb2:9092
atlas.kafka.zookeeper.session.timeout.ms=60000
atlas.kafka.zookeeper.connection.timeout.ms=30000
atlas.kafka.enable.auto.commit=true
# 修改hive的集成配置
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary
# 修改其他配置
atlas.rest.address=http://wcb0:21000   # 此端口号与impala端口号都为21000,去cm修改impala的端口号而不要修改atlas的端口号 否则后期在导入hive元数据时会发生read time out 错误
atlas.server.run.setup.on.start=false  #一定要设为false,否则在服务器启动时将运行安装步骤
atlas.audit.hbase.zookeeper.quorum=wcb0:2181,wcb1:2181,wcb2:2181
4) 修改atlas-env.sh文件 (我的路径是:D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0\distro\src\conf\atlas-env.sh)
# 添加集成hbase的配置(此目录为服务器上atlas的hbase配置,先按照我的配置即可,后面会有专门的软链接命令 ps:/opt/module/是我自定义的目录,读者copy时要注意)
export HBASE_CONF_DIR=/opt/module/apache-atlas-2.0.0/conf/hbase/hbase-conf
# 修改内存指标(根据自己的服务器进行配置)
export ATLAS_SERVER_OPTS="-server -XX:SoftRefLRUPolicyMSPerMB=0
-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled -XX:+PrintTenuringDistribution
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=dumps/atlas_server.hprof
-Xloggc:logs/gc-worker.log -verbose:gc
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10
-XX:GCLogFileSize=1m -XX:+PrintGCDetails -XX:+PrintHeapAtGC
-XX:+PrintGCTimeStamps"
# 优化 JDK1.8(以下需要16G内存) 
export ATLAS_SERVER_HEAP="-Xms15360m -Xmx15360m
-XX:MaxNewSize=5120m -XX:MetaspaceSize=100M
-XX:MaxMetaspaceSize=512m" 
5) 修改atlas-log4j.xml文件 (我的路径是:D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0\distro\src\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>
1.2.2 编译打包
1)打开黑窗口,进入Atlas目录(我的是D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0)
执行指令:mvn clean -DskipTests install   (ps:编译失败后,使用mvn clean -DskipTests package -Pdist -X 指令  编译会快一些)
2)  ERROR1: (当时出错时没有截图,翻历史记录找到了当时出错时的错误信息)
	[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce
	分析:根据提示信息,可得到是maven-enforcer-plugin这个插件强制约束了一些rules,查看pom文件,找到约束的rules
	解决:打开pom.xml文件(我的位置是:D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0\pom.xml)搜索rules  更改maven和java的版本 (我的是3.6.3 和 1.8.0-131)

在这里插入图片描述

3)再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X (ps:仿照第一步)
ERROR2:could not find artifact org.restlet.jee:org.restlet:jar:2.3.0
分析:没有下载到这个jar包
解决:更换maven的镜像源 (我的位置是:D:\learn\bigdata\apache-maven-3.6.3\conf\settings.xml)
<mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>ali</name>
      <url>https://maven.aliyun.com/repository/public</url>
</mirror>
4) 再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X
ERROR3:[ERROR] Failed to execute goal on project atlas-graphdb-janus: Could not resolve dependencies for project org.apache.atlas:atlas-graphdb-janus:jar:2.0.0:
 Failure to find com.sleepycat:je:jar:7.4.5 in https://maven.aliyun.com/repository/public was cached in the local repository, resolution will not be reattempted until the update interval of aliyunmaven has elapsed or updates are forced
 分析:依旧是没有找到jar包
 解决: 手动下载该jar包并导入到指定目录
 	下载地址:https://download.oracle.com/maven/com/sleepycat/je/7.4.5/je-7.4.5.jar
 			 https://download.oracle.com/maven/com/sleepycat/je/7.4.5/je-7.4.5.pom
 	下载之后将两个文件放到maven仓库对应的目录中(C:\Users\admin\.m2\repository\com\sleepycat\je\7.4.5\)(ps:木有相应文件夹则自行创建)
 			我的maven仓库地址为:C:\Users\admin\.m2
	
5) 再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X
ERROR4:Could not find artifact org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde in alimaven (http://maven.aliyun.com/nexus/content/groups/public/)
分析:依旧是没有找到包包
解决:手动下载该jar包并导入到指定目录
	下载地址:https://mvnrepository.com/artifact/org.pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde
	下载pom和jar文件 上传C:/Users/admin/.m2/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/目录下
6) 再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X
ERROR5:Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.pentaho:pentaho-aggdesigner:pom:5.1.5-jhyde in aliyunmaven (https://maven.aliyun.com/repository/public)
分析:没有找到相应的.pom文件
解决:手动下载该pom文件并导入到指定目录
下载地址:https://mvnrepository.com/artifact/org.pentaho/pentaho-aggdesigner/5.1.5-jhyde
下载pom文件上传到C:/Users/admin/.m2/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/目录下
7)再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X
ERROR6:Failed to run task: 'npm install' failed. org.apache.commons.exec.ExecuteExc
分析:没有安装npm
解决:安装npm即可
安装太过简单,就不在这里赘述了 具体请看https://www.cnblogs.com/hualess/p/11541908.html
	执行最后一步时,可能会出现一个错误:
		ERROR:rollbackFailedOptional: verb npm-session 202ea7f8ff206e70
		解决:所用为自己网络不需要代理,则要把npm代理和git代理去掉
			1、去掉npm代理
				npm config delete proxy
				npm config delete https-proxy
			2、去掉git代理
				git config --global --unset http.proxy
				git config --global --unset https.proxy
8)  再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X
ERROR7:Could not find artifact org.apache.sqoop:sqoop:jar:1.4.6.2.3.99.0-195 in aliyunmaven (https://maven.aliyun.com/repository/public)
分析:依旧是没有下载到包包
解决:手动下载该pom文件并导入到指定目录
下载地址:https://mvnrepository.com/artifact/org.apache.sqoop/sqoop/1.4.6.2.3.99.0-195
将下载好的jar包和.pom文件导入到C:\Users\admin\.m2\repository\org\apache\sqoop\sqoop\1.4.6.2.3.99.0-195\目录下
(ps:只下载sqoop-1.4.6.2.3.99.0-195.jar 和 sqoop-1.4.6.2.3.99.0-195.pom两个文件就好)
9)再次打开黑窗口,进入指定目录,执行指令:mvn clean -DskipTests package -Pdist -X
终于 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

在这里插入图片描述

2. 集成 CDH的HBase、Solr、Kafka、Hive

2.1 解压安装apache-atlas-2.0.0-bin.tar.gz
1)将编译好的apache-atlas-2.0.0-bin.tar.gz上传至服务器
	tar包位置:D:\learn\bigdata\atlas\apache-atlas-sources-2.0.0\distro\target\apache-atlas-2.0.0-bin.tar.gz
	上传至:/opt/software/目录下 (ps:这是我自定义的目录   读者可以上传至自己定义的其他目录)
	解压: tar -zxvf  /opt/software/apache-atlas-2.0.0-bin.tar.gz -C /opt/module/
2.2 集成CDH的HBase
1) **添加hbase集群配置文件到/opt/module/apache-atlas-2.0.0/conf/hbase下(这里连接的路径需要和上面配置中一样)**
ln -s /etc/hbase/conf/ /opt/module/apache-atlas-2.0.0/conf/hbase/
2.3 集成solr
1)   **如果自己CDH的solr的版本不是7.5 则不能使用CDH的solr,需自行下载Apache的开源版本 这里我将着重介绍一下集成Apache的solr**
下载地址:http://archive.apache.org/dist/lucene/solr/7.5.0/   
官网推荐的solr节点数为3,内存为32G
下载好之后上传至:/opt/software/
解压:tar -zxvf /opt/software/solr-7.5.0.tgz  -C /opt/module/
2)主节点修改: vi /opt/module/solr-7.5.0/bin/solr.in.sh
	ZK_HOST="wcb0:2181,wcb1:2181,wcb2:2181"
	SOLR_HOST="wcb0"
	SOLR_PORT=8983
3)主节点分发:
	scp -r /opt/module/solr-7.5.0 root@wcb1:/opt/module/
	scp -r /opt/module/solr-7.5.0 root@wcb2:/opt/module/
分发完,将SOLR_HOST改为对应机器
4)集成solr:
	将apache-atlas-2.0.0/conf/solr文件拷贝到/opt/module/solr-7.5.0/,更名为atlas-solr
		scp -r /opt/module/apache-atlas-2.0.0/conf/solr/ root@wcb0:/opt/module/solr-7.5.0/
		scp -r /opt/module/apache-atlas-2.0.0/conf/solr/ root@wcb1:/opt/module/solr-7.5.0/
		scp -r /opt/module/apache-atlas-2.0.0/conf/solr/ root@wcb2:/opt/module/solr-7.5.0/
	所有solr节点操作:
		cd /opt/module/solr-7.5.0/
		mv solr/ atlas-solr
	所有节点创建用户附权限:
		useradd atlas && echo atlas | passwd --stdin atlas
		chown -R atlas:atlas /opt/module/
	所有节点执行启动(cloud模式):
		su atlas
		/opt/module/solr-7.5.0/bin/solr start 

5)创建collection (随便solr节点)
	/opt/module/solr-7.5.0/bin/solr create -c  vertex_index -d /opt/module/solr-7.5.0/atlas-solr -shards 3 -replicationFactor 2
	/opt/module/solr-7.5.0/bin/solr create -c  edge_index -d /opt/module/solr-7.5.0/atlas-solr -shards 3 -replicationFactor 2
	/opt/module/solr-7.5.0/bin/solr create -c  fulltext_index -d /opt/module/solr-7.5.0/atlas-solr -shards 3 -replicationFactor 2

6) 验证创建collection成功
	登录 solr web控制台: http://wcb0:8983  验证是否启动成功

在这里插入图片描述

2.4 集成CDH的Kafka
1) 创建Kafka Topic
	kafka-topics --zookeeper wcb0:2181,wcb1:2181,wcb2:2181 --create --replication-factor 3 --partitions 3 --topic _HOATLASOK
	kafka-topics --zookeeper wcb0:2181,wcb1:2181,wcb2:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_ENTITIES
	kafka-topics --zookeeper wcb0:2181,wcb1:2181,wcb2:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_HOOK
2)查看topic
	bin/kafka-topics.sh --list --zookeeper wcb0:2181,wcb1:2181,wcb2:2181
2.5 集成CDH的Hive
1) 将atlas-application.properties配置文件加入到atlas-plugin-classloader-1.0.0.jar中 
	zip -u /opt/module/apache-atlas-2.0.0/hook/hive/atlas-plugin-classloader-0.8.4.jar /opt/module/apache-atlas-2.0.0/conf/atlas-application.properties
	原因:这个配置不能参照官网,将配置文件考到hive的conf中。参考官网的做法一直读取不到atlas-application.properties配置文件,看了源码发现是在classpath读取的这个配置文件,所以将它压到jar里面。

2)修改hive的相关配置文件
	进入CM web控制台--> 进入hive的配置界面
	1> 搜索 hive-site.xml
		修改【hive-site.xml的Hive服务高级代码段(安全阀)】
			名称:hive.exec.post.hooks
			值:org.apache.atlas.hive.hook.HiveHook
		修改【hive-site.xml的Hive客户端高级代码段(安全阀)】
			名称:hive.exec.post.hooks
			值:org.apache.atlas.hive.hook.HiveHook
	2> 搜索 hive-env
		修改 【hive-env.sh 的 Gateway 客户端环境高级配置代码段(安全阀)】
			HIVE_AUX_JARS_PATH=/opt/module/apache-atlas-2.0.0/hook/hive
	3> 搜索 hive_aux
		修改 【hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)】
			ps:此配置一共增加两块代码段
			名称:hive.exec.post.hooks
			值:org.apache.atlas.hive.hook.HiveHook
			
			名称:hive.reloadable.aux.jars.path
			值:/opt/module/apache-atlas-2.0.0/hook/hive
			
		修改 【HiveServer2 环境高级配置代码段(安全阀)】
			HIVE_AUX_JARS_PATH=/opt/module/apache-atlas-2.0.0/hook/hive
3)将配置好的atlas包发往各个hive节点 (ps:注意是有hive的节点 )
	scp /opt/module/apache-atlas-2.0.0  root@wcb1:/opt/module/
	scp /opt/module/apache-atlas-2.0.0  root@wcb1:/opt/module/			
4)将atlas配置文件copy到/etc/hive/conf下(集群各个节点)
	scp /opt/module/apache-atlas-2.0.0/conf/atlas-application.properties root@wcb0:/etc/hive/conf
	scp /opt/module/apache-atlas-2.0.0/conf/atlas-application.properties root@wcb1:/etc/hive/conf
	scp /opt/module/apache-atlas-2.0.0/conf/atlas-application.properties root@wcb2:/etc/hive/conf
5)重启hive集群
2.6 启动Atlas
cd /opt/module/apache-atlas-2.0.0
./bin/atlas_start.py
登录 atlas web控制台: http://wcb0:21000 验证是否启动成功!

3. 将Hive元数据导入Atlas

3.1配置hive环境变量
1) 各个节点都要配置
	vi /etc/profile
		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.2 将hive元数据导入 Atlas
1)执行shell 命令
	cd /opt/module/apache-atlas-2.0.0
	./bin/import-hive.sh
	系统默认用户名密码:admin admin 若修改过请用修改过的

2)ERROR:hive.exec.post.hooks Class not found: org.apache.atlas.hive.hook.HiveHook 
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	分析:很明显,缺少jar包
	解决:
	1> 将/opt/module/apache-atlas-2.0.0/hook/hive下所有jar包拷贝/opt/cloudera/parcels/CDH/lib/hive/lib目录下
	2> 将/opt/module/apache-atlas-2.0.0/hook/hive/atlas-hive-plugin-impl 拷贝到/opt/cloudera/parcels/CDH/lib/hive/lib目录下

3)再次执行导入命令 
	./bin/import-hive.sh 
		Enter username for atlas :- admin
		Enter password for atlas :- 
		Hive Meta Data import was successful!!!
		终于!!! !!!  successful   !!!!    ┭┮﹏┭┮
4)登录 atlas web控制台: http://wcb0:21000   验证我们的成果
	ps:介于数据为内部数据  我就找张网图代替了

在这里插入图片描述
emmmm 就是这个样子!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值