zookeeper docker-compose

文章目录

version: '2'
networks:
  zk:
services:
  zk1:
    image: zookeeper:3.4
    container_name: zk1
    networks:
        - zk
    ports:
        - "21811:2181"
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
  zk2:
    image: zookeeper:3.4
    container_name: zk2
    networks:
        - zk
    ports:
        - "21812:2181"
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zk1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zk3:2888:3888
  zk3:
    image: zookeeper:3.4
    container_name: zk3
    networks:
        - zk
    ports:
        - "21813:2181"
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=0.0.0.0:2888:3888
[root@localhost test]# docker-compose ps
Name              Command               State                      Ports
-------------------------------------------------------------------------------------------
zk1    /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:21811->2181/tcp, 2888/tcp, 3888/tcp
zk2    /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:21812->2181/tcp, 2888/tcp, 3888/tcp
zk3    /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:21813->2181/tcp, 2888/tcp, 3888/tcp
[root@localhost test]# docker exec -it zk1 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
[root@localhost test]# docker exec -it zk2 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
[root@localhost test]# docker exec -it zk3 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
### 使用 Docker Compose 设置 Kafka 和 ZooKeeper 为了设置包含 Kafka 和 ZooKeeper 的服务,可以遵循以下方法: #### 准备工作环境 确保已安装 DockerDocker Compose。进入希望放置 `docker-compose.yml` 文件的目录,例如 `/data/docker-compose/`[^2]。 #### 创建 `docker-compose.yml` 在此文件夹下创建名为 `docker-compose.yml` 的文件,在其中定义所需的服务。对于基本的 Kafka 和 ZooKeeper 配置来说,此文件可能如下所示: ```yaml version: '3' services: zookeeper: image: wurstmeister/zookeeper:latest ports: - "2181:2181" kafka: image: wurstmeister/kafka:latest depends_on: - zookeeper environment: KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 ports: - "9092:9092" ``` 这段 YAML 定义了两个服务——一个是用于运行 ZooKeeper 实例的基础镜像,另一个则是依赖于前者启动的 Kafka 实例[^3]。 #### 启动服务 保存上述配置后,在终端中切换至该文件所在路径并执行命令来启动这些容器: ```bash docker-compose up -d ``` 这将以分离模式(后台)启动所有指定的服务实例[^1]。 #### 访问 Shell 终端 如果需要访问正在运行中的 Kafka 或者其他任何服务内部,则可以通过下面这样的指令连接到对应的 Bash shell 中去操作: ```bash docker-compose exec kafka /bin/bash ``` 这样就可以直接在 Kafka 容器内执行各种管理和调试命令了[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值