docker-compose安装ZooKeeper集群

docker-compose 配置文件

创建一个配置文件 docker-compose.yml ,内容如下:

yaml 复制代码
version: '3.1'
services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

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

  zoo3:
    image: zookeeper
    restart: always
    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=zoo3:2888:3888;2181

启动

执行 docker-compose up -d 运行容器

查看状态

执行 docker ps 查看容器状态

shell 复制代码
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                  NAMES
95f80f321850        zookeeper           "/docker-entrypoint...."   3 minutes ago       Up 3 minutes        2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp   zookeeper_zoo1_1
baabad3ea4a5        zookeeper           "/docker-entrypoint...."   3 minutes ago       Up 3 minutes        2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2182->2181/tcp   zookeeper_zoo2_1
dd11960d4623        zookeeper           "/docker-entrypoint...."   3 minutes ago       Up 3 minutes        2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2183->2181/tcp   zookeeper_zoo3_1

交互式进入容器:

执行 docker exec -it zookeeper_zoo1_1 /bin/bash 命令,

继续执行 cd bin , ./zkServer.sh status :

shell 复制代码
root@zoo1:/apache-zookeeper-3.6.2-bin# cd bin
root@zoo1:/apache-zookeeper-3.6.2-bin/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

可以看到当前节点为follower,也就是从节点。同理可查看其它节点。

使用的配置文件是自动创建的/conf/zoo.cfg文件,可以用cat查看配置内容:

shell 复制代码
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=zoo1:2888:3888;2181
server.2=zoo2:2888:3888;2181
server.3=zoo3:2888:3888;2181
相关推荐
逃逸线LOF5 天前
Cloud服务注册中心异同点对比Nacos|Eureka|zookeeper|consul
zookeeper·eureka·consul
Sayai6 天前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
SparklingTheo7 天前
【Zookeeper】源码阅读
分布式·zookeeper·云原生
程序员梅雨8 天前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件
Devlive 开源社区8 天前
GrantForge 2026.1.0 正式发布:开源统一权限管理平台,新增 HDFS、ZooKeeper、MySQL 权限控制与数据脱敏!
hdfs·zookeeper·开源
yumgpkpm11 天前
CDP 7.3.1(Cloudera Runtime 7.3.1)VS Acceldata ODP 3.3.6.4 核心引擎详细版本对比
大数据·hive·hadoop·postgresql·zookeeper·spark·hbase
yumgpkpm11 天前
(CDH 7)CDP Private Cloud Base 7.3.1 → Acceldata ODP 3.3.6.4 引擎迁移风险评估表
服务器·人工智能·hadoop·python·华为·zookeeper·hbase
yumgpkpm11 天前
Acceldata ODP 3.3.6.4 vs CDP Private Cloud Base 7.3.2 对比
大数据·运维·服务器·hadoop·华为·zookeeper·hbase
Jinkxs14 天前
Zookeeper - Java API 实现节点的创建与删除开发
java·zookeeper·java-zookeeper
Gl�ria1 个月前
ZooKeeper 写入机制
zookeeper