【笔记】Zookeeper集群部署

前言

Zookeeper集群部署

准备目录

  • 创建集群配置根目录
1
2
mkdir zkCluster
cd zkCluster
  • 在根目录创建三个节点的目录
1
mkdir zk1 zk2 zk3
  • 在每个目录创建data目录和log目录
1
mkdir {zk1,zk2,zk3}/{data,log}
  • 在每个data目录下创建myid文件,文件内容对应,分别为1、2、3
1
2
3
4
5
6
7
8
9
10
11
vim zk1/data/myid
1
:wq

vim zk2/data/myid
2
:wq

vim zk3/data/myid
3
:wq

集群配置

  • 复制一个模版配置进行修改
1
cp /usr/local/etc/zookeeper/zoo_sample.cfg zoo.cfg
  • 编辑zoo.cfg配置文件
1
vim zoo.cfg
  • 修改zoo.cfg第12行,指定zk1的data目录位置和log目录位置
1
2
dataDir=~/Downloads/zkCluster/zk1/data
dataLogDir=~/Downloads/zkCluster/zk1/log
  • 修改zoo.cfg第15行,指定zk1的服务端口
1
clientPort=2181
  • zoo.cfg第16行,添加集群配置

2887:Zookeeper互相通讯的端口
3888:Zookeeper宕机后选举的端口

1
2
3
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
  • 将配置文件分别复制每个目录下
1
2
3
4
cp zoo.cfg zk1/zoo1.cfg
cp zoo.cfg zk2/zoo2.cfg
cp zoo.cfg zk3/zoo3.cfg
rm zoo.cfg
  • 修改各个配置文件,目录对应,端口不重复分别为218121822183,集群配置相同
1
2
3
vim zk1/zoo1.cfg
vim zk2/zoo2.cfg
vim zk3/zoo3.cfg

启动

  • 三台需要都启动才能正常工作
1
2
3
zkServer start zk1/zoo1.cfg
zkServer start zk2/zoo2.cfg
zkServer start zk3/zoo3.cfg

查看状态

1
2
3
zkServer status zk1/zoo1.cfg
zkServer status zk2/zoo2.cfg
zkServer status zk3/zoo3.cfg

关闭服务

1
2
3
zkServer stop zk1/zoo1.cfg
zkServer stop zk2/zoo2.cfg
zkServer stop zk3/zoo3.cfg

完成