用編譯集成的hbase和sorl部署的apache atlas請參見之前的文章:Atlas系列-編譯部署
此次介紹的是 集成以獨立部署好的 kakfa,solr,hbase的部署方式
本次部署包含一下六部分:
- apache atlas 獨立部署編譯
- solr集羣部署,集成到apache atlas
- 集成已有HBase集羣,集成已有kafka集羣
- apache atlas的HA
- hive hook 部署
- hive 元數據導入
部署環境
- hadoop環境:cdh-5.9.0
- kafka版本:0.10.2+kafka2.2.0
- apache-atlas版本:1.0.0
- solr版本:5.5.1
- apache atlas部署路徑:/opt/apache-atlas
- solr 部署路徑:/opt/solr
- ATLAS_HOME=/opt/apache-atlas/apache-atlas-1.0.0
- SOLR_HOME=/opt/solr/solr-5.5.1
apache atlas 獨立部署編譯
準備工作參見:Atlas系列-編譯部署
編譯apache atlas 不包含嵌入組件:
mvn clean -DskipTests package -Pdist
編譯後好得到如下的包:
我們部署時候要用的包:apache-atlas-1.0.0-bin.tar.gz
solr集羣部署,集成到apache atlas
solr集羣部署
下載solr部署包
wget http://archive.apache.org/dist/lucene/solr/5.5.1/solr-5.5.1.tgz
解壓solr部署包
tar -zxvf solr-5.5.1.tgz
修改solr配置
修改 solr.in.sh 配置文件,位於:$SOLR_HOME/bin/
配置solr zookeeper路徑:ZK_HOST=”cdh003:2181,cdh005:2181,cdh006:2181/solr”
cdh003:2181,cdh005:2181,cdh006:2181爲已有的zookeeper集羣
配置solr 端口:SOLR_PORT=9838
配置zookeeper
在zookeeper新建/solr 目錄:create /solr “solr”
拷貝solr到要安裝的機器
scp -r /opt/solr/solr-5.5.1 root@cdh005:/opt/solr
scp -r /opt/solr/solr-5.5.1 root@cdh006:/opt/solr
啓動solr
分別進入cdh005和cdh006的目錄:/opt/solr/solr-5.5.1
啓動命令:bash $SOLR_HOME/bin/solr start
啓動成功後顯示如下
可登錄對應的solrweb控制檯:http://cdh005:9838/solr/#/
看到如下界面,恭喜你solr-cloude 部署成功。
備註:solr常用命令
啓動:bash $SOLR_HOME/bin/solr start
停止:bash $SOLR_HOME/bin/solr stop
重啓:bash $SOLR_HOME/bin/solr restart
更多命令可輸入 bash $SOLR_HOME/bin/solr 獲取
集成到apache atlas
配置文件拷貝:
apache atlas 配置的solr文件夾拷貝到solr各個節點,並重命名爲:apache-atlas-conf
apache atlas 配置的solr文件夾如圖:
solr節點的文件夾如圖:
創建collection:
bash $SOLR_HOME/bin/solr create -c vertex_index -d $SOLR_HOME/apache-atlas-conf -shards 2 -replicationFactor 2
bash $SOLR_HOME/bin/solr create -c edge_index -d $SOLR_HOME/apache-atlas-conf -shards 2 -replicationFactor 2
bash $SOLR_HOME/bin/solr create -c fulltext_index -d $SOLR_HOME/apache-atlas-conf -shards 2 -replicationFactor 2
驗證創建collection成功:
登錄solrweb控制檯:http://cdh006:9838/solr/#/~cloud 看到如下圖顯示:
apache atlas 集成獨立solr集羣
修改atlas-application.properties solr 相關配置
配置文件位於:$ATLAS_HOME/conf/atlas-application.properties
# Graph Search Index
atlas.graph.index.search.backend=solr
#Solr
#Solr cloud mode properties
atlas.graph.index.search.solr.mode=cloud
atlas.graph.index.search.solr.zookeeper-url=cdh003:2181,cdh005:2181,cdh006: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
如圖
集成已有HBase集羣,集成已有kafka集羣
修改atlas-application.properties 相關配置
配置文件位於:$ATLAS_HOME/conf/atlas-application.properties
集成已有HBase集羣
添加如下配置:
#Hbase
#For standalone mode , specify localhost
#for distributed mode, specify zookeeper quorum here
atlas.graph.storage.hostname=cdh003,cdh005,cdh006
atlas.graph.storage.hbase.regions-per-server=1
atlas.graph.storage.lock.wait-time=10000
在$ATLAS_HOME/hbase目錄下新建軟連: ln -s /etc/hbase/conf conf
集成已有kafka集羣
添加如下配置:
atlas.kafka.auto.commit.enable=true
atlas.kafka.bootstrap.servers=cdh003:9092,cdh006:9092
atlas.kafka.zookeeper.connect=cdh003:2181/kafka,cdh005:2181/kafka,cdh006:2181/kafka
atlas.kafka.hook.group.id=atlas
atlas.kafka.zookeeper.connection.timeout.ms=30000
atlas.kafka.zookeeper.session.timeout.ms=60000
atlas.kafka.zookeeper.sync.time.ms=20
atlas.notification.create.topics=true
atlas.notification.replicas=2
atlas.notification.topics=ATLAS_HOOK,ATLAS_ENTITIES
atlas.notification.log.failed.messages=true
atlas.notification.consumer.retry.interval=500
atlas.notification.hook.retry.interval=1000
到這裏,
- apache atlas 獨立部署編譯
- solr集羣部署,集成到apache atlas
- 集成已有HBase集羣,集成已有kafka集羣
可啓動apache atlas 查看是否配置正確,若啓動不成功,可在目錄:$ATALS_HOME/logs 查看日誌。
apache atlas的HA
修改atlas-application.properties 相關配置
配置文件位於:$ATLAS_HOME/conf/atlas-application.properties
apache atlas的server端分別部署在 :cdh005,cdh006 上
在zookeeper上新建/apache_atlas節點: create /apache_atlas “apache_atlas”
添加如下配置
######### High Availability Configuration ########
atlas.server.ha.enabled=true
#### Enabled the configs below as per need if HA is enabled #####
atlas.server.ids=id1,id2
atlas.server.address.id1=cdh005:21000
atlas.server.address.id2=cdh006:21000
atlas.server.ha.zookeeper.connect=cdh003:2181,cdh005:2181,cdh006:2181
atlas.server.ha.zookeeper.zkroot=/apache_atlas
atlas.server.ha.zookeeper.retry.sleeptime.ms=1000
atlas.server.ha.zookeeper.num.retries=3
atlas.server.ha.zookeeper.session.timeout.ms=20000
atlas.client.ha.retries=4
atlas.client.ha.sleep.interval.ms=5000
分別啓動cdh005和cdh006的 apache atlas ,驗證是否配置成功。
hive hook 部署
修改atlas-application.properties 相關配置
配置文件位於:$ATLAS_HOME/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-application.properties配置文件加入到atlas-plugin-classloader-1.0.0.jar中
命令:
zip -u /opt/apache-atlas/apache-atlas-1.0.0/hook/hive/atlas-plugin-classloader-1.0.0.jar /opt/apache-atlas/apache-atlas-1.0.0/conf/atlas-application.properties
備註:這個配置不能參照官網,將配置文件考到hive的conf中。參考官網的做法一直讀取不到atlas-application.properties配置文件,看了源碼發現是在classpath讀取的這個配置文件,所以將它壓到jar裏面
將apache atlas的安裝目錄拷貝到所有有hiveserver2的服務器中
部署路徑爲:ATLAS_HOME=/opt/apache-atlas/apache-atlas-1.0.0
在cm中修改hiveserver2的配置
重啓服務hiveserver2服務,完工。
hive 元數據導入
只要在初始化的時候導入一次以前即可,後期的變更hive hook 會自動採集。在cdh005中,修改atlas-application.properties 相關配置,配置文件位於:$ATLAS_HOME/conf/atlas-application.properties
######### Server Properties #########
atlas.rest.address=http://cdh005:21000
# If enabled and set to true, this will run setup steps when the server starts
#atlas.server.run.setup.on.start=false
將atlas-application.properties 複製到 /etc/hive/conf 中
cp /opt/apache-atlas/apache-atlas-1.0.0/conf/atlas-application.properties /etc/hive/conf
聲明HIVE_HOME:
export HIVE_HOME="/opt/cloudera/parcels/CDH/lib/hive"
執行導入腳本:
$ATLAS_HOME/bin/import-hive.sh
若導入失敗可在,可查看日誌:
$ATALS_HOME/logs/import-hive.log
至此apache atlas 安裝成功。登錄http://cdh005:21000/,如下圖操作可看到導入同步的hive元數據信息: