- 创建docker-compose脚本kafka-cluster.yml
version: "3.3"
services:
#####################kafka集群相关配置####################################
#zookeeper集群
zk01:
image: zookeeper:3.7.0
restart: always
container_name: elk-cluster-zk01
hostname: zk01
ports:
- 2181:2181
networks:
- elk
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zk02:2888:3888;2181 server.3=zk03:2888:3888;2181
zk02:
image: zookeeper:3.7.0
restart: always
container_name: elk-cluster-zk02
hostname: zk02
ports:
- 2182:2181
networks:
- elk
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zk01:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zk03:2888:3888;2181
zk03:
image: zookeeper:3.7.0
restart: always
container_name: elk-cluster-zk03
hostname: zk03
ports:
- 2183:2181
networks:
- elk
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zk01:2888:3888;2181 server.2=zk02:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
#kafka集群
kafka01:
image: wurstmeister/kafka:2.13-2.7.0
restart: always
container_name: elk-cluster-kafka01
hostname: kafka01
ports:
- "9091:9092"
- "9991:9991"
networks:
- elk
depends_on:
- zk01
- zk02
- zk03
environment:
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: kafka01
KAFKA_ADVERTISED_PORT: 9091
KAFKA_HOST_NAME: kafka01
KAFKA_ZOOKEEPER_CONNECT: zk01:2181,zk02:2181,zk03:2181
KAFKA_LISTENERS: PLAINTEXT://kafka01:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.56.10:9091
JMX_PORT: 9991
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=192.168.56.10 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
kafka02:
image: wurstmeister/kafka:2.13-2.7.0
restart: always
container_name: elk-cluster-kafka02
hostname: kafka02
ports:
- "9092:9092"
- "9992:9992"
networks:
- elk
depends_on:
- zk01
- zk02
- zk03
environment:
KAFKA_BROKER_ID: 2
KAFKA_ADVERTISED_HOST_NAME: kafka02
KAFKA_ADVERTISED_PORT: 9092
KAFKA_HOST_NAME: kafka02
KAFKA_ZOOKEEPER_CONNECT: zk01:2181,zk02:2181,zk03:2181
KAFKA_LISTENERS: PLAINTEXT://kafka02:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.56.10:9092
JMX_PORT: 9992
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=192.168.56.10 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
kafka03:
image: wurstmeister/kafka:2.13-2.7.0
restart: always
container_name: elk-cluster-kafka03
hostname: kafka03
ports:
- "9093:9092"
- "9993:9993"
networks:
- elk
depends_on:
- zk01
- zk02
- zk03
environment:
KAFKA_BROKER_ID: 3
KAFKA_ADVERTISED_HOST_NAME: kafka03
KAFKA_ADVERTISED_PORT: 9093
KAFKA_HOST_NAME: kafka03
KAFKA_ZOOKEEPER_CONNECT: zk01:2181,zk02:2181,zk03:2181
KAFKA_LISTENERS: PLAINTEXT://kafka03:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.56.10:9093
JMX_PORT: 9993
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=192.168.56.10 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
efak:
image: ydockerp/efak:2.0.8
restart: always
container_name: efak-manager
hostname: efak
ports:
- "8048:8048"
networks:
- elk
depends_on:
- kafka01
- kafka02
- kafka03
volumes:
- /usr/local/bin/kafka-eagle/system-config.properties:/opt/kafka-eagle/conf/system-config.properties
environment:
ZK_HOSTS: zk1:2181,zk2:2181,zk3:2181
networks:
elk:
driver: bridge
- 启动kafka集群
命令:docker-compose -f kafka-cluster.yml up -d
- 验证



