转载请注明出处:http://blog.csdn.net/u012842205/article/details/73469992
一、部署环境
三个节点:
hostname | OS | ip | zookeeper | Druid节点 | 内存 |
ezkalicom | Kali 2.0 Rolling | 192.168.56.1 | 无 | 无Druid节点,只跑MySQL | 16G |
vubuntuez1 | Ubuntu16.04 | 192.168.56.101 | vubuntuez1:2181 | middleManager,historical | 4G |
vcentosez2 | CentOS Linux release 7.2.1511 (Core) | 192.168.56.102 | vcentosez2:2181 | coordinator,overlord | 2G |
vdebianez3 | Debian 8.7 x86_64 | 192.168.56.103 | vdebianez3:2181 | broker | 4G |
第一个节点是我本机电脑,也就是宿主机,剩下三个是本机virtualbox虚拟出的节点,四节点在192.168.56.*网段。
Druid使用版本:0.10.0
JDK:Oracle JDK1.8.1_101
Apache Zookeeper:3.4.8
Apache Hadoop(HDFS):2.7.3
MySQL:10.1.21-MariaDB-5+b1 Debian 9.0
以上组件确保已经安装完成且运行正常。
二、安装配置
由于Druid各个节点角色不一样,只能分别配置。上一篇博客提到过,Druid配置文件目录比较清晰,各个进程有自己专门的配置文件目录,所以我们可以先将所有配置设在一个节点的上,再复制到其他节点。各个节点进程启动只会读自己配置目录中的配置文件。
先从Druid官网下载部署包,详细见上一篇博客。以下所有配置操作都在vubuntuez1节点进行。
我的HDFS(Hadoop)服务运行的系统用户为hdfs,这里我将Druid也运行在这个用户下(之前尝试过将Druid运行在系统用户druid下,但后来做静态文件导入时出现权限问题,看起来是与HDFS相关的权限,一直没有解决,这个后续有研究再补充说明吧)。
解压到/home/hdfs/druid/目录下,产生druid-0.10.0目录。确保这个路径下所有文件目录所有者都是hdfs。
1、公共配置
公共配置在部署目录的conf/druid/_common中,我们先配置common.runtime.properties文件。主要列出重要的配置,其他配置保留默认即可。
(1)配置两个启动加载的扩展。一个是HDFS存储,一个是MySQL元数据。根据上文提到的部署环境来。
druid.extensions.loadList=["druid-hdfs-storage","mysql-metadata-storage"]
(2)配置Zookeeper访问URL。
druid.zk.service.host=vubuntuez1:2181,vcentosez2:2181,vdebianez3:2181
druid.zk.paths.base=/druid
(3)配置RDBMS Metastore