创建目录
[root@meta kafka]
.
├── kafka.yml
├── kfk1
│ ├── conf
│ ├── data
│ └── log
├── kfk2
│ ├── conf
│ ├── data
│ └── log
├── kfk3
│ ├── conf
│ ├── data
│ └── log
├── zk1
│ ├── conf
│ ├── data
│ ├── datalog
│ └── logs
├── zk2
│ ├── conf
│ ├── data
│ ├── datalog
│ └── logs
└── zk3
├── conf
├── data
├── datalog
└── logs
27 directories, 1 file
[root@meta kafka]
在zookeeper/conf中配置zoo.cfg配置文件
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data
dataLogDir=/datalog
clientPort=2181
autopurge.snapRetainCount=3
autopure.purgeInterval=1
4lw.commands.whitelist=*
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
编写kafka.yml文件
version: '3.5'
services:
zk1:
image: zookeeper
restart: always
container_name: zk1
hostname: zk1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
volumes:
- ./zk1/conf/zoo.cfg:/conf/zoo.cfg
- ./zk1/data:/data
- ./zk1/datalog:/datalog
- ./zk1/logs:/logs
networks:
kafka:
aliases:
- zk1
zk2:
image: zookeeper
restart: always
container_name: zk2
hostname: zk2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
volumes:
- ./zk2/conf/zoo.cfg:/conf/zoo.cfg
- ./zk2/data:/data
- ./zk2/datalog:/datalog
- ./zk2/logs:/logs
networks:
kafka:
aliases:
- zk2
zk3:
image: zookeeper
restart: always
container_name: zk3
hostname: zk3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
volumes:
- ./zk3/conf/zoo.cfg:/conf/zoo.cfg
- ./zk3/data:/data
- ./zk3/datalog:/datalog
- ./zk3/logs:/logs
networks:
kafka:
aliases:
- zk3
kafka1:
image: wurstmeister/kafka
restart: always
container_name: kafka1
hostname: kafka1
privileged: true
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: kafka1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LISTENERS: PLAINTEXT://kafka1:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://121.5.246.227:9092
KAFKA_ZOOKEEPER_CONNECT: zk1:2181,zk2:2181,zk3:2181
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_HEAP_OPTS: "-Xmx512M -Xms256M"
JMX_PORT: 9988
volumes:
- ./kfk1/config:/opt/kafka/config
- ./kfk1/logs:/opt/kafka/logs
- /etc/localtime:/etc/localtime
depends_on:
- zk1
- zk2
- zk3
networks:
kafka:
aliases:
- kafka1
kafka2:
image: wurstmeister/kafka
restart: always
container_name: kafka2
hostname: kafka2
privileged: true
ports:
- "9093:9092"
environment:
KAFKA_BROKER_ID: 2
KAFKA_ADVERTISED_HOST_NAME: kafka2
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LISTENERS: PLAINTEXT://kafka2:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://121.5.246.227:9093
KAFKA_ZOOKEEPER_CONNECT: zk1:2181,zk2:2181,zk3:2181
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_HEAP_OPTS: "-Xmx512M -Xms256M"
JMX_PORT: 9988
volumes:
- ./kfk2/config:/opt/kafka/config
- ./kfk2/logs:/opt/kafka/logs
- /etc/localtime:/etc/localtime
depends_on:
- zk1
- zk2
- zk3
networks:
kafka:
aliases:
- kafka2
kafka3:
image: wurstmeister/kafka
restart: always
container_name: kafka3
hostname: kafka3
privileged: true
ports:
- "9094:9092"
environment:
KAFKA_BROKER_ID: 3
KAFKA_ADVERTISED_HOST_NAME: kafka3
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LISTENERS: PLAINTEXT://kafka3:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://121.5.246.227:9094
KAFKA_ZOOKEEPER_CONNECT: zk1:2181,zk2:2181,zk3:2181
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_HEAP_OPTS: "-Xmx512M -Xms256M"
JMX_PORT: 9988
volumes:
- ./kfk3/config:/opt/kafka/config
- ./kfk3/logs:/opt/kafka/logs
- /etc/localtime:/etc/localtime
depends_on:
- zk1
- zk2
- zk3
networks:
kafka:
aliases:
- kafka3
kafka-manager:
image: sheepkiller/kafka-manager:latest
restart: always
container_name: kafka-manager
hostname: kafka-manager
ports:
- "9000:9000"
depends_on:
- zk1
- zk2
- zk3
- kafka1
- kafka2
- kafka3
environment:
ZK_HOSTS: zk1:2181,zk2:2181,zk3:2181
KAFKA_BROKERS: kafka1:9092, kafka2:9092, kafka3:9092
APPLICATION_SECRET: letmein
KAFKA_MANAGER_AUTH_ENABLED: "true"
KAFKA_MANAGER_USERNAME: "admin"
KAFKA_MANAGER_PASSWORD: "admin"
KM_ARGS: -Djava.net.preferIPv4Stack=true
networks:
kafka:
aliases:
- manager
networks:
kafka:
driver: bridge
启动或关闭命令
[root@meta kafka]
[root@meta kafka]
访问管理界面
http://IP:9000