docker-compose方式安装zookeeper集群
时间: 2025-06-13 20:28:18 浏览: 29
### 使用 Docker-Compose 部署 Zookeeper 集群
#### 1. 环境准备
在开始之前,确保每台虚拟机已经安装了 **Docker** 和 **Docker Compose**。如果尚未安装,可以按照以下步骤完成安装:
- 使用 `yum` 或其他包管理工具安装 Python3 的 Pip 工具:
```bash
yum -y install python3-pip
```
- 升级 Pip 至最新版本以提高兼容性和性能:
```bash
pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
```
- 安装 Docker Compose 工具以便能够轻松管理和编排容器化服务:
```bash
pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
```
- 验证 Docker Compose 是否成功安装并获取其当前版本号:
```bash
docker-compose version
```
以上步骤完成后即可进入实际配置阶段[^4]。
#### 2. 创建 Docker Compose 文件
在一个目录下创建名为 `docker-compose.yml` 的文件,并编辑如下内容作为基础模板:
```yaml
version: '3'
services:
zookeeper1:
image: zookeeper:latest
container_name: zookeeper1
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zookeeper1:2888:3888;2181 server.2=zookeeper2:2888:3888;2181 server.3=zookeeper3:2888:3888;2181
networks:
- zookeeper-net
zookeeper2:
image: zookeeper:latest
container_name: zookeeper2
ports:
- "2182:2181"
- "2889:2888"
- "3889:3888"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zookeeper1:2888:3888;2181 server.2=zookeeper2:2888:3888;2181 server.3=zookeeper3:2888:3888;2181
networks:
- zookeeper-net
zookeeper3:
image: zookeeper:latest
container_name: zookeeper3
ports:
- "2183:2181"
- "2890:2888"
- "3890:3888"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zookeeper1:2888:3888;2181 server.2=zookeeper2:2888:3888;2181 server.3=zookeeper3:2888:3888;2181
networks:
- zookeeper-net
networks:
zookeeper-net:
driver: bridge
```
此 YAML 文件定义了一个由三个节点组成的 Zookeeper 集群环境[^2]。
#### 3. 启动集群
保存上述配置后,在同一路径执行启动命令:
```bash
docker-compose up -d
```
这将以分离模式运行所有指定的服务实例[^5]。
#### 4. 验证状态
可以通过以下方式检查各个节点的工作情况以及角色分配(leader/follower):
```bash
docker exec -it zookeeper1 zkServer.sh status
docker exec -it zookeeper2 zkServer.sh status
docker exec -it zookeeper3 zkServer.sh status
```
正常情况下会返回类似于这样的信息表明该服务器处于跟随者或者领导者模式之中:
```
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower/leader
```
另外还可以尝试连接到任意一台机器上的客户端界面进一步测试功能连通性与数据一致性等问题存在与否。
例如先切换至某个具体容器内部再调用对应脚本实现交互操作目的:
```bash
docker exec -it zookeeper1 bash
cd /opt/zookeeper/bin/
./zkCli.sh -server localhost:2181
```
至此整个流程结束即完成了利用 Docker Compose 构建起一套完整的分布式协调框架解决方案——ZooKeeper Cluster!
阅读全文
相关推荐



















