- 基于Apache-Druid-0.17
- 基于Centos-7
准备工作
- 检查Centos的hosts配置,集群中各个节点都需要保持一致;
- 检查集群各个节点防火墙是否关闭;
- 检查集群中各个节点的端口是否可用;
- 以上两项检查工作是必须要做的。要不然不能从浏览器访问到Druid的web页面;
- 推荐大家阅读一下Druid的商业话版本Imply的官方文档 On-Perm版Imply-Doc,里面的文档更新的比Apache版的及时一些。
集群搭建
-
非生产环境条件下,搭建一个三节点的集群;
-
服务器配置如下:AWS服务器,16核、64G内存、5T磁盘
集群的节点说明 -
具体步骤如下:
-
下载
# 下载Apache-Druid-0.17.0
wget http://mirrors.tuna.tsinghua.edu.cn/apache/druid/0.17.0/apache-druid-0.17.0-bin.tar.gz
# 解压
tar -zxvf apache-druid-0.17.0-bin.tar.gz
mv apache-druid-0.17.0 druid-0.17.0
- 修改配置文件
- 对于apache-druid,需要修改
_common
包下的配置; - 修改 元数据存储,详见官网文档
Metadata storage
部分。- 对于mysql的版本,建议版本在5.7以上。imply的版本已经开始使用mysql-8版本了。
- mysql版本过低会导致在启动 master节点时,
coordinator-overlord
会报写入mysql错误。
- 注意修改各个节点的hostname
#
# Hostname
#
druid.host=bigdata-dev-31
-
修改
Deep storage
,详见官方文档中Deep storage
。这部分文档写的还是很详细的。 -
将上述配置修改好之后,分发至各个节点。
启动druid各个节点
-
Attention:
第一次启动配置,建议采用前台的方式启动,这样可以观察到是否启动成功。 - 启动的日志在对应的
${DRUID_HOME}/var/sv
下。 - 后台启动脚本命令如下:
- 31-master节点
nohup bin/start-cluster-master-no-zk-server > /dev/null 2>&1 &
- 32-data 节点
nohup bin/start-cluster-data-server > /dev/null 2>&1 &
- 33-query节点
nohup bin/start-cluster-query-server > /dev/null 2>&1 &
- 如果想停止某个节点,建议采用以下命令的方式:
${DRUID_HOME}/bin/service --down
- 可以详细阅读以下
service
的命令; - 启动完每个节点之后,注意观察对应的日志,观察是否有报错信息。
进入web页面
- 在这三个节点的集群中,33节点对应的是query节点。
- 在druid-0.17中需要通过
router
的角色访问,即通过8888
端口 - 直接访问
bigdata-dev-33:8888
即可。
image.png- 如果访问不了,建议查看日志,如果日志没有错误,再排查以下这节点的服务器防火墙是否关闭。
- 至此,三个节点的测试集群已经搭建完毕。可以进行学习操作了。
结束语
- 在测试环境搭建的时候,碰上了端口被占用,各个节点的hosts不一样,服务器的防火墙有关闭的、有开启的。总之,浪费了很多的时间。
网友评论