参考文档: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