下面是一个简单的 docker-compose.yml 文件,用于部署 zookeeper kafka 集群:

version: '3'
services:
  zookeeper-1:
    image: zookeeper:3.4.9
    restart: always
    hostname: zookeeper-1
    ports:
      - '2181:2181'
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 server.3=zookeeper-3:2888:3888

  zookeeper-2:
    image: zookeeper:3.4.9
    restart: always
    hostname: zookeeper-2
    ports:
      - '2182:2181'
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 server.3=zookeeper-3:2888:3888

  zookeeper-3:
    image: zookeeper:3.4.9
    restart: always
    hostname: zookeeper-3
    ports:
      - '2183:2181'
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 server.3=zookeeper-3:2888:3888

  kafka-1:
    image: wurstmeister/kafka:2.11-1.1.0
    restart: always
    hostname: kafka-1
    ports:
      - '9092:9092'
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181/kafka
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-1:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092

  kafka-2:
    image: wurstmeister/kafka:2.11-1.1.0
    restart: always
    hostname: kafka-2
    ports:
      - '9093:9092'
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181/kafka
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-2:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092

  kafka-3:
    image: wurstmeister/kafka:2.11-1.1.0
    restart: always
    hostname: kafka-3
    ports:
      - '9094:9092'
    environment:
      KAFKA_BROKER_ID: 3
      KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181/kafka
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-3:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092

这个文件使用了 docker-compose 版本 3,定义了 6 个服务:3 个 zookeeper 节点和 3 个 kafka 节点。每个节点都有一个特定的主机名,端口号以及环境变量。

zookeeper 节点使用了官方的 zookeeper 映像,并且每个节点都定义了一个独特的 ID 和服务器列表。

kafka 节点使用了 wurstmeister/kafka 映像,并且每个节点都定义了一个独特的 ID、zookeeper 连接字符串、广告监听器和监听器。

使用 docker-compose up 命令启动集群。

这个 docker-compose.yml 文件只是一个基本的示例,可以根据需要进行修改。

Docker 部署 Zookeeper Kafka 集群: Docker-Compose.yml 示例

原文地址: https://www.cveoy.top/t/topic/nu9S 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录