# zookeeper 集群部署(3 个节点)
# 一、集群规划
在 node1、node2 和 node3 三个节点上都部署 Zookeeper。
# 二、下载
# 下载zookeeper-华为镜像站下载的3.6.3版本
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.6.3-bin.tar.gz --no-check-certificate
1
2
3
2
3
# 三、安装
# 解压
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /usr/local/
# 修改文件夹名称
mv /usr/local/apache-zookeeper-3.6.3-bin/ /usr/local/zookeeper
1
2
3
4
5
2
3
4
5
# 四、配置、启动
# 1、创建配置文件,修改共同配置
# 复制配置文件模板-cp前斜杠表示强制复制
\cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
mkdir -p /usr/local/zookeeper/data
#注释掉原有的配置
sed "s/^dataDir=.*/#&/" /usr/local/zookeeper/conf/zoo.cfg -i
sed "s/^quorumListenOnAllIPs=.*/#&/" /usr/local/zookeeper/conf/zoo.cfg -i
sed "s/^server.1=.*/#&/" /usr/local/zookeeper/conf/zoo.cfg -i
sed "s/^server.2=.*/#&/" /usr/local/zookeeper/conf/zoo.cfg -i
sed "s/^server.3=.*/#&/" /usr/local/zookeeper/conf/zoo.cfg -i
#加入新配置
grep -q '^#dataDir=' /usr/local/zookeeper/conf/zoo.cfg && sed -i '/^#dataDir=.*/a\dataDir=/usr/local/zookeeper/data' /usr/local/zookeeper/conf/zoo.cfg || echo 'dataDir=/usr/local/zookeeper/data' >> /usr/local/zookeeper/conf/zoo.cfg
grep -q '^#quorumListenOnAllIPs=' /usr/local/zookeeper/conf/zoo.cfg && sed -i '/^#quorumListenOnAllIPs=true' /usr/local/zookeeper/conf/zoo.cfg || echo 'quorumListenOnAllIPs=true' >> /usr/local/zookeeper/conf/zoo.cfg
grep -q '^#server.1=' /usr/local/zookeeper/conf/zoo.cfg && sed -i '/^#server.1=.*/a\server.1=node1:2888:3888' /usr/local/zookeeper/conf/zoo.cfg || echo 'server.1=node1:2888:3888' >> /usr/local/zookeeper/conf/zoo.cfg
grep -q '^#server.2=' /usr/local/zookeeper/conf/zoo.cfg && sed -i '/^#server.1=.*/a\server.2=node2:2888:3888' /usr/local/zookeeper/conf/zoo.cfg || echo 'server.2=node1:2888:3888' >> /usr/local/zookeeper/conf/zoo.cfg
grep -q '^#server.3=' /usr/local/zookeeper/conf/zoo.cfg && sed -i '/^#server.1=.*/a\server.3=node3:2888:3888' /usr/local/zookeeper/conf/zoo.cfg || echo 'server.3=node3:2888:3888' >> /usr/local/zookeeper/conf/zoo.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 2、不同的服务器不同配置
(1)配置服务器编号:id 分别设置为 1、2、3
# node1
echo '1' > /usr/local/zookeeper/data/myid
# node2
echo '2' > /usr/local/zookeeper/data/myid
# node3
echo '3' > /usr/local/zookeeper/data/myid
1
2
3
4
5
6
7
2
3
4
5
6
7
# 3、启动 zookeeper
# 启动命令
cd /usr/local/zookeeper && ./bin/zkServer.sh start
# 查看状态
cd /usr/local/zookeeper && ./bin/zkServer.sh status
#============修改环境变量后============
# 启动命令
zkServer.sh start
# 查看状态
zkServer.sh status
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 五、配置环境变量(全局可以使用 zookeeper 命令)
cat >>/etc/profile.d/zookeeper.sh <<EOF
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=\$PATH:\$ZOOKEEPER_HOME/bin
EOF
source /etc/profile
1
2
3
4
5
6
2
3
4
5
6
# 六、配置远程访问
# 1、开启防火墙端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --reload
1
2
3
2
3
# 七、设置开机自启
#待完善
1