version: '3'
services:
zookeeper:
image: zookeeper
container_name: zookeeper
networks:
- my_kafka_network
ports:
- "2181:2181"
kafka0:
image: wurstmeister/kafka
container_name: kafka0
networks:
- my_kafka_network
environment:
KAFKA_BROKER_ID: 0
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
ports:
- "9092:9092"
depends_on:
- zookeeper
kafka1:
image: wurstmeister/kafka
container_name: kafka1
networks:
- my_kafka_network
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:9093
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9093
ports:
- "9093:9093"
depends_on:
- zookeeper
kafka2:
image: wurstmeister/kafka
container_name: kafka2
networks:
- my_kafka_network
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka2:9094
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9094
ports:
- "9094:9094"
depends_on:
- zookeeper
networks: #共享网段
my_kafka_network:
driver: bridge
在新建目录下,保存以上内容,再执行安装
docker-compose -f 你的编排文件 up -d
因为是线下机器安装集群,且本机ip没有固定,按装好环境后,还需配置hosts,如下
192.168.0.160 kafka0 kafka1 kafka2