version: '2'
services:
zookeeper:
image: zookeeper:3.4.14
ports:
- "2181:2181"
restart: always
container_name: zookeeper
kafka-1:
image: wurstmeister/kafka:2.13-2.8.1
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka-1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_BROKER_ID: 1
volumes:
- ./kafka-1/config:/opt/kafka/config
- ./kafka-1/data:/var/lib/kafka/data
- ./kafka-1/logs:/var/log/kafka
depends_on:
- zookeeper
restart: always
container_name: kafka-1
kafka-2:
image: wurstmeister/kafka:2.13-2.8.1
ports:
- "9093:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka-2
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_BROKER_ID: 2
volumes:
- ./kafka-2/config:/opt/kafka/config
- ./kafka-2/data:/var/lib/kafka/data
- ./kafka-2/logs:/var/log/kafka
depends_on:
- zookeeper
- kafka-1
restart: always
container_name: kafka-2
kafka-3:
image: wurstmeister/kafka:2.13-2.8.1
ports:
- "9094:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka-3
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_BROKER_ID: 3
volumes:
- ./kafka-3/config:/opt/kafka/config
- ./kafka-3/data:/var/lib/kafka/data
- ./kafka-3/logs:/var/log/kafka
depends_on:
- zookeeper
- kafka-1
- kafka-2
restart: always
container_name: kafka-3
对应的挂载目录需要创建
$ mkdir -p kafka-1/config
$ mkdir -p kafka-1/data
$ mkdir -p kafka-1/logs
$ mkdir -p kafka-2/config
......
dockercompose部署kafka集群
最新推荐文章于 2024-10-09 21:15:29 发布
该文档展示了如何使用Docker部署一个Zookeeper实例和三个Kafkabrokers。每个Kafka容器都配置了不同的brokerID,连接到同一Zookeeper实例,并挂载了各自的配置、数据和日志目录。Kafkabrokers依赖于Zookeeper服务,并且按照特定顺序启动。
摘要由CSDN通过智能技术生成