使用 docker 快速启动本地 ZooKeeper 集群

ZooKeeper 是一个为分布式应用提供一致性服务的软件,是大数据场景下的一个重要的基础组件。

利用 Docker 来快速的在本地启动一个 ZooKeeper 环境。

单节点启动

使用Docker命令启动

1
2
docker run -d -p 2181:2181 --name dev-zk zookeeper:3.7.0

使用docker-compose命令启动,docker-compose.yaml配置如下:

1
2
3
4
5
6
7
version: '3.8'

services:
  zookeeper:
    image: zookeeper:3.7.0
    ports:
      - 2181:2181

执行命令:docker-compose up -d -f docker-compose.yaml

多节点启动

启动一个 3 个节点的 ZooKeeper 集群,分别暴露在本机环境的 2181/2182/2183 端口

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
version: '3.8'

services:
  zoo1:
    image: zookeeper:3.7.0
    hostname: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo2:
    image: zookeeper:3.7.0
    hostname: zoo2
    ports:
      - 2182:2181
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo3:
    image: zookeeper:3.7.0
    hostname: zoo3
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181