1.服務器規劃
軟件版本參考:
https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-release-2.2?hl=zh-cn
由于hive3.1.3不完全支持jdk8,所以將hive的版本調整成4.0.1。這個版本沒有驗證過,需要讀者自己抉擇。
所有的軟件都安裝再/opt/apps下。
2.預先準備
hadoop集群
hive集群
kafka集群
zookeeper集群
hbase集群
3.相關組件安裝
3.1 solr集群安裝
修改配置
修改/opt/apps/solr/bin/solr.in.sh,打開注釋或者新增配置。
ZK_HOST="instance-kafka01:2181,instance-kafka02:2181,instance-kafka03:2181"
SOLR_HOST="instance-hbase01"
SOLR_JETTY_HOST="0.0.0.0"
solr的zookeeper地址,本地ip或者hostname, 允許其他節點訪問。
分發
將solr安裝包分發到需要安裝的機器上,并將solr.in.sh配置里面的SOLR_HOST改成本機。
SOLR_HOST="instance-hbase01"
啟動
配置環境變量后,在每一臺機器上執行下面命令。
solr start
訪問任意一臺機器,8983端口,出現以下界面為安裝成功。
補充
要集成atlas, solr9.2.1需要在對應的zk上增加一個額外的目錄。
create /clusterstate.json {}
3.atlas安裝
3.1 解壓
把前文中編譯好的壓縮包,上傳到服務器,然后解壓。找到apache-atlas-2.2.0-server.tar.gz解壓到/opt/apps
tar -zxvf apache-atlas-2.2.0-server.tar.gz -C /opt/apps/
改名為atlas.
找到apache-atlas-2.2.0-hive-hook.tar.gz解壓到/opt/apps,并且改名為atlas-hive-hook
tar -zxvf apache-atlas-2.2.0-hive-hook.tar.gz -C /opt/apps/
3.2 配置
配置路徑在/apache-atlas-2.2.0/conf。
3.2.1 集成HBase
atlas-application.properties,新增或者打開注釋。配置Hbase配置的zk地址。
atlas.graph.storage.hostname=mecury-schedule-v1-m-0:2181,mecury-schedule-v1-m-1:2181,mecury-schedule-v1-m-2:2181
atlas-env.sh 配置hbase配置目錄。
export HBASE_CONF_DIR=/opt/apps/hbase/conf
3.2.2 集成Solr
atlas-application.properties。配置solr配置的zk地址。
atlas.graph.index.search.solr.zookeeper-url=instance-kafka01:2181,instance-kafka02:2181,instance-kafka03:2181
創建相應的collection.
/opt/apps/solr/bin/solr create -c vertex_index -d /opt/apps/atlas/conf/solr -shards 3 -replicationFactor 2
/opt/apps/solr/bin/solr create -c edge_index -d /opt/apps/atlas/conf/solr -shards 3 -replicationFactor 2
/opt/apps/solr/bin/solr create -c fulltext_index -d /opt/apps/atlas/conf/solr -shards 3 -replicationFactor 2
對于atlas-2.2.0的配置文件有點問題,包含棄用的對象。執行上面命令前,需要調整。
/opt/apps/atlas/conf/solr/schema.xml
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>```
修改為```bash
<fieldType name="location" class="solr.LatLonPointSpatialField"/>
3.2.3 集成kafka
atlas-application.properties。配置kafka集群地址和數據目錄。
atlas.kafka.data=/opt/data/atlas/kafka
atlas.kafka.zookeeper.connect=instance-kafka01:2181,instance-kafka02:2181,instance-kafka03:2181/kafka
atlas.kafka.bootstrap.servers=instance-kafka01:9092,instance-kafka02:9092,instance-kafka03:9092
3.2.4 atlas 配置
配置atlas地址和hbase zookeeper地址。
atlas.rest.address=http://instance-hbase11:21000
# If enabled and set to true, this will run setup steps when the server starts
atlas.server.run.setup.on.start=false
atlas.audit.hbase.zookeeper.quorum=mecury-schedule-v1-m-0:2181,mecury-schedule-v1-m-1:2181,mecury-schedule-v1-m-2:2181
打開這段注釋
<!-- Uncomment the following for perf logs --><!--<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>-->
3.2.5 集成hive
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-hive-hook到atlas.
cp -r atlas-hive-hook/* atlas/
修改hive-site.xml,增加
<property><name>hive.exec.post.hooks</name><value>org.apache.atlas.hive.hook.HiveHook</value></property>
修改hive-env.sh,增加
export HIVE_AUX_JARS_PATH=/opt/apps/atlas-hive-hook/hook/hive
將atlas-application.properties復制到hive/conf目錄下。
4.啟動
進入atlas目錄。
bin/atlas_start.py
啟動成功后,訪問21000可以登錄。就表示成功。
初始賬號和密碼都是admin。