@羲凡——只为了更好的活着
安装zookeeper、java8、mysql
hostname | 主节点 | 数据节点 | 查询节点 | mysql |
---|---|---|---|---|
ml16.com | √ | |||
ml20.com | √ | |||
ml21.com | √ | √ | ||
ml22.com | √ |
每台机器都要操作
wget http://archive.apache.org/dist/druid/0.18.1/apache-druid-0.18.1-bin.tar.gz
tar -zxf apache-druid-0.18.1-bin.tar.gz -C ../modules/
mv apache-druid-0.18.1 druid-0.18.1
vim /etc/profile
#DRUID_HOME
export DRUID_HOME=/opt/modules/druid-0.18.1
export PATH=$PATH:$DRUID_HOME/bin
source /etc/profile
登录ml21.com上的mysql
CREATE DATABASE druid DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'druid'@'%' IDENTIFIED BY 'druid';
GRANT ALL PRIVILEGES ON druid.* TO 'druid'@'%';
任选一台机器比如ml16.com,配置好后分发到别的机器上
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar -zxf mysql-connector-java-5.1.46.tar.gz
cd mysql-connector-java-5.1.46/
mv mysql-connector-java-5.1.46-bin.jar $DRUID_HOME/extensions/mysql-metadata-storage/
conf/druid/cluster/_common/common.runtime.properties
## 添加 "mysql-metadata-storage"
druid.extensions.loadList=["mysql-metadata-storage","druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches"]
## 每个机器写自己的ip或hostname
druid.host=ml16.com
## 填写自己的zk地址
druid.zk.service.host=ml14.com:2181,ml15.com:2181,ml16.com:2181
druid.zk.paths.base=/druid
## mysql 地址(将默认的derby参数注释掉)
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://ml21.com:3306/druid
druid.metadata.storage.connector.user=druid
druid.metadata.storage.connector.password=druid
## hdfs数据存储(将默认的local disk参数注释掉)
druid.storage.type=hdfs
druid.storage.storageDirectory=/druid/segments
druid.indexer.logs.type=hdfs
druid.indexer.logs.directory=/druid/indexing-logs
conf/druid/cluster/master/coordinator-overlord/jvm.config
-Xms1g
-Xmx1g
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
conf/druid/cluster/data/historical/jvm.config
-Xms128M
-Xmx128M
-XX:MaxDirectMemorySize=1g
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
conf/druid/cluster/data/middleManager/jvm.config
-Xms128M
-Xmx128M
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
conf/druid/cluster/data/broker/jvm.config
-Xms1g
-Xmx1g
-XX:MaxDirectMemorySize=6g
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
conf/druid/cluster/data/router/jvm.config
-Xms1g
-Xmx1g
-XX:MaxDirectMemorySize=128M
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
如果其他机器上没有安装包,则分发安装包,如果有则只需要分发 extensions 和 conf 两个文件夹即可
scp -r druid-0.18.1/ ml20.com:/opt/modules/
scp -r druid-0.18.1/ ml21.com:/opt/modules/
scp -r druid-0.18.1/ ml22.com:/opt/modules/
分发后一定要修改 common.runtime.properties 中的 druid.host 为本机的ip
分发后一定要修改 common.runtime.properties 中的 druid.host 为本机的ip
分发后一定要修改 common.runtime.properties 中的 druid.host 为本机的ip
在主节点上启动(ml16.com)
nohup start-cluster-master-no-zk-server &
在数据节点上启动(ml20.com,ml21.com)
nohup start-cluster-data-server &
在查询节点上启动(ml22.com)
nohup start-cluster-query-server &
关闭服务,先用 ps aux | grep druid
找到进程编号,然后kill掉
http://ml22.com:8888
可能出现的几种报错:
a、如果你服务起不来,先看看你的jvm参数是不是太大了
b、数据库链接不上,先看看你的jdbc的mysql的jar包有没有放在指定目录下
c、如果8888界面上有一些错误信息,则删除var目录下的文件重启即可
d、如果8888界面上显示的services数量不一致,则检查 druid.host 参数
====================================================================
@羲凡——只为了更好的活着
若对博客中有任何问题,欢迎留言交流