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。