1. 配置 yml 文件
创建 docker-compose.yml
文件, 写入以下内容
version: '3.8'
services:
zookeeper:
container_name: zookeeper
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
kafka:
container_name: kafka
image: wurstmeister/kafka:2.13-2.8.1
depends_on: [ zookeeper ]
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_CREATE_TOPICS: "Raw:1:1,Done:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /data/docker/kafka:/opt/kafka/logs
kafka-map: # admin/admin
container_name: kafka-map
image: dushixiang/kafka-map:latest
depends_on: [zookeeper,kafka]
ports:
- "9093:8080"
注:
kafka
的 KAFKA_ADVERTISED_HOST_NAME 需要设置为服务运行机器的 IPkafka
的参数KAFKA_CREATE_TOPICS
用来设置 Topic, 根据上面的设置, 主题Raw
和Done
将有 1个分区和 1个副本kafka-map
用于管理kafka
集群, 启动后访问http://localhost:9093
, 用户名密码为admin/admin
, 详细使用方法可以参考这篇文章 https://zhuanlan.zhihu.com/p/380301924
2. 启动和管理 Kafka 集群
进入 docker-compose.yml
所在目录, 通过以下命令管理 Kafka 集群
# 启动
docker-compose up -d
# 停止
docker-compose down
对 broker/topic 等更细致的管理可以通过 kafka-map
来实现