M1 Docker编排搭建Kafka集群
下载几个镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull sheepkiller/kafka-manager
编排镜像
注意: 对于192.168.31.73
是局域网ip
version: '3.3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: kafka_zookeeper
ports:
- 2181:2181
volumes:
- ./kafka_cluster/zookeeper/data:/data
- ./kafka_cluster/zookeeper/datalog:/datalog
- ./kafka_cluster/zookeeper/logs:/logs
restart: on-failure
kafka1:
image: wurstmeister/kafka
depends_on:
- kafka_zookeeper
container_name: kafka1
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 0
KAFKA_NUM_PARTITIONS: 3
KAFKA_DEFAULT_REPLICATION_FACTOR: 2
KAFKA_ZOOKEEPER_CONNECT: 192.168.31.73:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.31.73:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
volumes:
- ./kafka_cluster/broker1/logs:/opt/kafka/logs
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
kafka2:
image: wurstmeister/kafka
depends_on:
- kafka_zookeeper
container_name: kafka2
ports:
- 9093:9093
environment:
KAFKA_BROKER_ID: 1
KAFKA_NUM_PARTITIONS: 3
KAFKA_DEFAULT_REPLICATION_FACTOR: 2
KAFKA_ZOOKEEPER_CONNECT: 192.168.31.73:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.31.73:9093
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9093
volumes:
- ./kafka_cluster/broker2/logs:/opt/kafka/logs
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
kafka3:
image: wurstmeister/kafka
depends_on:
- kafka_zookeeper
container_name: kafka3
ports:
- 9094:9094
environment:
KAFKA_BROKER_ID: 2
KAFKA_NUM_PARTITIONS: 3
KAFKA_DEFAULT_REPLICATION_FACTOR: 2
KAFKA_ZOOKEEPER_CONNECT: 192.168.31.73:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.31.73:9094
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9094
volumes:
- ./kafka_cluster/broker3/logs:/opt/kafka/logs
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
kafka-manager:
image: sheepkiller/kafka-manager
container_name: kafka-manager
depends_on:
- kafka_zookeeper
ports:
- 9200:9000
environment:
ZK_HOSTS: 192.168.31.73:2181
查看效果
\