Linux 部署:zookeeper (容器集群)

发布时间 2023-03-22 21:16:15作者: 武平宁

参考文档:https://www.cnblogs.com/EminemJK/p/15138536.html

1. 节点规划

节点 ip
vm81 10.99.0.81
vm82 10.99.0.82
vm83 10.99.0.83

2. 部署zookeeper容器

  • vm81
$ cat run-zk.sh 
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper_node --restart always \
-v /usr/soft/zookeeper/data:/data \
-v /usr/soft/zookeeper/datalog:/datalog \
-v /usr/soft/zookeeper/logs:/logs \
-v /usr/soft/zookeeper/conf:/conf \
--network host  \
-e ZOO_MY_ID=1  zookeeper

$ sudo sh run-zk.sh
  • vm82
$ cat run-zk.sh 
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper_node --restart always \
-v /usr/soft/zookeeper/data:/data \
-v /usr/soft/zookeeper/datalog:/datalog \
-v /usr/soft/zookeeper/logs:/logs \
-v /usr/soft/zookeeper/conf:/conf \
--network host  \
-e ZOO_MY_ID=2  zookeeper

$ sudo sh run-zk.sh
  • vm83
$ cat run-zk.sh 
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper_node --restart always \
-v /usr/soft/zookeeper/data:/data \
-v /usr/soft/zookeeper/datalog:/datalog \
-v /usr/soft/zookeeper/logs:/logs \
-v /usr/soft/zookeeper/conf:/conf \
--network host  \
-e ZOO_MY_ID=3  zookeeper

$ sudo sh run-zk.sh

3. 配置zoo.cfg文件

  • vm81上创建该文件

sudo vi /usr/soft/zookeeper/conf/zoo.cfg

dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60

server.1=10.99.0.81:2888:3888
server.2=10.99.0.82:2888:3888
server.3=10.99.0.83:2888:3888
  • 拷贝到另外两个节点
sudo scp /usr/soft/zookeeper/conf/zoo.cfg vm82:/usr/soft/zookeeper/conf/zoo.cfg
sudo scp /usr/soft/zookeeper/conf/zoo.cfg vm83:/usr/soft/zookeeper/conf/zoo.cfg

4. 检查zk状态

# vm81
$  docker exec -it zookeeper_node ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

# vm82
$ docker exec -it zookeeper_node ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

# vm83
$ docker exec -it zookeeper_node ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower