下面是一个简单的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-composeyml 怎么写

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

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