Skip to content
安装部署/微服务版(MicroApp)安装指南/安装环境准备/Zookeeper安装指南(可选)/Zookeeper 安装指南(可选)

Zookeeper 安装指南(可选)

如果用户在公共资源中新建调度引擎时选择 jdbc 注册方式,则无需安装 Zookeeper。该章节可以忽略不看。

如果用户需要使用 Zookeeper 注册方式,则本安装指南将为您提供 Zookeeper 单节点部署和集群部署指导。

一、单节点部署

1. 解压

shell
tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz

2. 查看/修改配置文件

进入 zookeeper 的安装目录,查看并配置文件zoo.cfg

shell
cd apache-zookeeper-3.8.0-bin/conf  
mv zoo_sample.cfg zoo.cfg
cat zoo.cfg

默认配置如下图

zoo.cfg配置文件

提示:

当修改 zookeeper 配置文件中的**clientPort**端口后
1、后续部署 [Dolphinscheduler](./Dolphinscheduler.md) 时,需要同步修改 bin/env/dolphinscheduler_env.sh 配置文件中的 zookeeper 端口;
2、在 DWS 调度引擎管理页面,创建调度引擎时,也需要修改默认 zookeeper 端口。

3. 配置/etc/hosts

注意:

此步骤必须执行,否则会导致 zookeeper 连接超时异常问题。

在/etc/hosts中增加一行,添加服务器ip及域名

vim /etc/hosts
192.168.16.80 server80

4. 修改拥有者

shell
chown -R dws:dws apache-zookeeper-3.8.0-bin

5. 启动/停止 ZooKeeper

shell
su dws
./bin/zkServer.sh start
./bin/zkServer.sh stop
提示:

Zookeeper 服务建议用和 Dolphinscheduler 服务使用相同的用户**dws**启动。

二、集群部署

1. 前期准备:

准备三台服务器,且服务器已配置集群时间同步。每台虚拟机都配置有ssh服务,可以进行免密登录。每台虚拟机的/etc/hosts均已增加一下配置。

192.168.16.74  zk1
192.168.16.75  zk2
192.168.16.76  zk3
说明:

下边的步骤都是在 zk1 这个节点上进行的操作,除特殊说明外。

2. 解压

shell
cd /opt
tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz

3. 修改配置文件

进入 zookeeper 的解压目录,修改配置文件conf/zoo.cfg

shell
vim conf/zoo.cfg    
# 添加如下内容

server.1=zk1:2188:2888
server.2=zk2:2188:2888
server.3=zk3:2188:2888

4. 将zookeeper目录分发到其他节点

shell
# 分发到其他集群节点

scp -r apache-zookeeper-3.8.0-bin/ zk2:/opt/
scp -r apache-zookeeper-3.8.0-bin/ zk3:/opt/

5. 编写操作zookeeper集群的脚本

shell
cd /opt/apache-zookeeper-3.8.0-bin/bin
# 创建zookeeper启动脚本
vim zk.sh
# 添加如下内容
#!/bin/bash
case $1 in
"start"){
	for i in zk1 zk2 zk3
	do 
		 echo -------------------------------- $i zookeeper 启动 ---------------------------
		ssh $i "/opt/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"
	done
}
;;
"stop"){
	for i in zk1 zk2 zk3
	do
		echo -------------------------------- $i zookeeper 停止 ---------------------------
		ssh $i "/opt/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"
	done
}
;;
"status"){
	for i in zk1 zk2 zk3
	do
		echo -------------------------------- $i zookeeper 状态 ---------------------------
		ssh $i "/opt/apache-zookeeper-3.8.0-bin/bin/zkServer.sh status"
	done
}
;;
esac

# 保存退出后,修改zk.sh脚本执行权限
chmod +x ./zk.sh

脚本的命令说明:

shell
# 启动集群命令
./zk.sh start

# 停止集群命令
./zk.sh stop

# 查看集群状态命令
./zk.sh status

6. 启动集群

shell
# 启动zookeeper集群
cd /opt/apache-zookeeper-3.8.0-bin/
./bin/zk.sh start