CDH6.3.0下Apache Atlas2.1.0安裝與配置


CDH6.3.0下Apache Atlas2.1.0安裝與配置

0. 說明

文中的${ATLAS_HOME}, ${HIVE_HOME} 環境變更需要根據實際環境進行替換。

1. 依賴

A. 軟件依賴

CDH6.3.0 環境已安裝:

  1. Apache Hadoop
  2. Apache Zookeeper
  3. Apache Kafka
  4. Apache HBase
  5. Apache Solr
  6. Apache Hive

2. Apache Atlas包編譯

下載源文件包:https://atlas.apache.org/#/Downloads
2fd1d5c8b2c8b87b2dd27c5ed063a882.png

在IDEA里編譯

mvn clean install -Dmaven.test.skip=true
mvn clean package -Pdist -Dmaven.test.skip=true

編譯過程中會因為網絡、插件等各種問題阻斷。多試幾次就可以了。

distro/pom.xml 里有個exec-maven-plugin一直編譯不過,把他注釋掉繼續編譯就可以了。
編譯完成后在distro/target目錄下會有如下產物:

distro/target/apache-atlas-{project.version}-bin.tar.gz
distro/target/apache-atlas-{project.version}-hbase-hook.tar.gz
distro/target/apache-atlas-{project.version}-hive-hook.gz
distro/target/apache-atlas-{project.version}-kafka-hook.gz
distro/target/apache-atlas-{project.version}-sources.tar.gz
distro/target/apache-atlas-{project.version}-sqoop-hook.tar.gz
distro/target/apache-atlas-{project.version}-storm-hook.tar.gz

3. 安裝配置

A. 傳送jar包到服務器並解壓

tar -zxf apache-atlas-2.0.0-bin.tar.gz

B. 集成Hbase

a. 在atlas-application.properties文件中修改配置

vim atlas-application.properties
#修改atlas存儲數據主機
atlas.graph.storage.hostname=${zk_hostname1}:2181,${zk_hostname2}:2181,${zk_hostname3}:2181

b. 將hbase的配置文件鏈接到${ATLAS_HOME}

ln -s ${HBASE_HOME}/conf/ ${ATLAS_HOME}/conf/hbase/

c. 在atlas_env.sh文件中添加HBASE_CONF_DIR

vim atlas-env.sh
export HBASE_CONF_DIR=${ATLAS_HOME}/conf/hbase/conf

C. 集成Solr

有個問題,我在非zookeeper結點上執行solrctl命令失敗,要在zookeeper結點上執行才成功。

a. 在atlas-application.properties文件中修改配置

vim atlas-application.properties
#修改如下配置
atlas.graph.index.search.solr.zookeeper-url=${zk_hostname1}:2181/solr

b. 實例化atlas配置文件

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

c. 創建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

D. 集成Kafka

a. 在atlas-application.properties文件中修改配置

vim atlas-application.properties
#########  Notification Configs  #########
atlas.notification.embedded=false
atlas.kafka.zookeeper.connect=${zk_hostname1}:2181,${zk_hostname2}:2181,${zk_hostname3}:2181
atlas.kafka.bootstrap.servers=${kafka_hostname1}:9092,${kafka_hostname2}:9092,${kafka_hostname2}:9092
atlas.kafka.zookeeper.session.timeout.ms=4000
atlas.kafka.zookeeper.connection.timeout.ms=2000
atlas.kafka.enable.auto.commit=true

b. 在啟動好的kafka集群中創建Topic

kafka-topics --zookeeper ${zk_hostname1}:2181 --create --replication-factor 3 --partitions 3 --topic _HOATLASOK
kafka-topics --zookeeper ${zk_hostname1}:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_ENTITIES

E. Atlas配置

a.在atlas-application.properties文件中修改配置

因為CDH里21000端口被Impala占用了,這里把端口改為21001

vim atlas-application.properties
#Server port configuration
atlas.server.http.port=21001
#########  Server Properties  #########
atlas.rest.address=http://hadoop102:21001
#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=${zk_hostname1}:2181,${zk_hostname2}:2181,${zk_hostname3}:2181

F. 集成Hive

a. 在atlas-application.properties文件中修改配置

vim 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

b. 將atlas-application.properties文件夾復制到hive/conf目錄下

cp ${ATLAS_HOME}/conf/atlas-application.properties ${HIVE_HOME}/conf

c. 將atlas-application.properties配置文件加入到atlas-plugin-classloader-2.0.0.jar中

zip -u ${ATLAS_HOME}/hook/hive/atlas-plugin-classloader-2.0.0.jar ${ATLAS_HOME}/conf/atlas-application.properties

d. 在CDH中配置hive-site

  • 修改 hive-site.xml

d847e88a21bf91364c4fa3a5a4fac214.png

<property> 
    <name>hive.exec.post.hooks</name> 
    <value>org.apache.atlas.hive.hook.HiveHook</value> 
</property>
  • 修改 hive-env.sh 的 Gateway 客戶端環境高級配置代碼段(安全閥)
    d8c6c053bab459b05570c62358c03e17.png
HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive
  • 修改 HIVE_AUX_JARS_PATH

60e2685be0b118a71508851d8bc611d6.png

  • 修改 hive-site.xml 的 HiveServer2 高級配置代碼段(安全閥)
    a7b703bfc22fa499006b1f34bd6638a5.png
<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>/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive</value>
</property>
  • 修改 HiveServer2 環境高級配置代碼段
    f2b2058cdbcb1afb60a64e5082b418db.png
HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.0.0/hook/hive

e.在CM頁面重新啟動Hive相關服務

重啟后檢查下第c步copy的配置文件還在不,不在的話,再copy一次

G.分發atlas軟件包到各個節點

scp -r /usr/local/src/atlas/apache-atlas-2.0.0 root@cdh02.cm:/usr/local/src/atlas/ 
scp -r /usr/local/src/atlas/apache-atlas-2.0.0 root@cdh02.cm:/usr/local/src/atlas/

4. 啟動與關閉

A. 啟動

cd ${ATLAS_HOME}
bin/atlas_start.py
輸入賬戶密碼 user:admin password:admin
訪問地址 http://${HOST_NAME}:21001

B. 關閉

cd ${ATLAS_HOME}
bin/atlas_stop.py

5.導入Hive元數據

  • 所有節點添加hive環境變量
vim /etc/profile 
#>>> 
#hive 
export HIVE_HOME=/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hive 
export HIVE_CONF_DIR=/etc/hive/conf 
export PATH=$HIVE_HOME/bin:$PATH 
#<<< 

source /etc/profile
  • 執行atlas腳本
cd ${ATLAS_HOME}
bin/imort_hive.sh
輸入賬戶密碼 user:admin password:admin

注意:CDH6.3.0安裝的HIVE版本為2.1.0, 但Atlas 2.1.0版本中編譯用的HIVE版本為3.x的。
在執行import_hive.sh時會報找不到方法的錯。需要修改下源代碼里的方法,重新編譯包hive-bridge-2.1.0.jar
所需修改的項目位置:apache-atlas-sources-2.1.0\addons\hive-bridge
org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java 577行
08fcf251c00bea942f7c2caa69e8575c.png
修改后重新編譯,將apache-atlas-sources-2.1.0/addons/hive-bridge/target/hive-bridge-2.1.0.jar
替換${ATLAS_HOME}/hook/hive/atlas-hive-plugin-impl/hive-bridge-2.1.0.jar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM