由于zookeeper 集群选择leader的策略是少数服从多数原则,所以建议选择奇数个结点
1 compose file 文件
version: '3.7'
services:
zoo1:
image: zookeeper:3.8.0
restart: always
hostname: zoo1
container_name: zookeeper-cluster-1
ports:
- 12181:2181
- 18080:8080
volumes:
- "/home/data/cluster/zookeeper/zookeeper-1/data:/data"
- "/home/data/cluster/zookeeper/zookeeper-1/datalog:/datalog"
- "/home/data/cluster/zookeeper/zookeeper-1/logs:/logs"
environment:
ZOO_MY_ID: 1
ALLOW_ANONYMOUS_LOGIN: "yes"
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_4LW_COMMANDS_WHITELIST: "*"
networks:
brzk-kafka:
ipv4_address: 172.19.0.11
zoo2:
image: zookeeper:3.8.0
restart: always
hostname: zoo2
container_name: zookeeper-cluster-2
ports:
- 22181:2181
- 28080:8080
volumes:
- "/home/data/cluster/zookeeper/zookeeper-2/data:/data"
- "/home/data/cluster/zookeeper/zookeeper-2/datalog:/datalog"
- "/home/data/cluster/zookeeper/zookeeper-2/logs:/logs"
environment:
ZOO_MY_ID: 2
ALLOW_ANONYMOUS_LOGIN: "yes"
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_4LW_COMMANDS_WHITELIST: "*"
networks:
brzk-kafka:
ipv4_address: 172.19.0.12
zoo3:
image: zookeeper:3.8.0
restart: always
hostname: zoo3
container_name: zookeeper-cluster-3
ports:
- 32181:2181
- 38080:8080
volumes:
- "/home/data/cluster/zookeeper/zookeeper-3/data:/data"
- "/home/data/cluster/zookeeper/zookeeper-3/datalog:/datalog"
- "/home/data/cluster/zookeeper/zookeeper-3/logs:/logs"
environment:
ZOO_MY_ID: 3
ALLOW_ANONYMOUS_LOGIN: "yes"
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_4LW_COMMANDS_WHITELIST: "*"
networks:
brzk-kafka:
ipv4_address: 172.19.0.13
networks:
brzk-kafka:
ipam:
driver: default
config:
- subnet: "172.19.0.0/24"
2 运行
docker-compose --project-name myzkcomposeprj up -d
3 查看集群
在某个容器运行客户端:
docker exec --interactive --tty zookeeper-cluster-1 bin/zkCli.sh -server :2181 config| grep ^server
[hostuser@host-machine]$ docker exec --interactive --tty zook

本文档详细介绍了如何使用Docker Compose部署一个由三个节点组成的Zookeeper集群,并提供了配置文件示例、运行步骤、集群状态检查方法以及客户端zkCli.sh的使用。集群节点采用奇数配置以确保选举稳定性,通过容器内部和主机端口映射进行访问,同时展示了通过AdminServer的HTTP接口获取集群状态的新方法。
最低0.47元/天 解锁文章
741

被折叠的 条评论
为什么被折叠?



