-
Notifications
You must be signed in to change notification settings - Fork 33
/
kafka.yaml
executable file
·52 lines (52 loc) · 1.96 KB
/
kafka.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 最后更新于 2022.02.27,指定了镜像版本号
# docker-compose.yaml
# 需要持久化则要提前创建好 /kafka 和 /zookeeper 目录并将权限修改为 777
# 因为容器内部使用uid=1001的用户在运行程序,容器外部其他用户创建的文件夹对1001来说是没有权限的,具体容器内是用哪个uid来运行可以查Dockerfile来确定
# 不需要则可以注释掉 volumes 相关配置
version: "3"
services:
zookeeper:
image: 'bitnami/zookeeper:3.7.0-debian-10-r94'
ports:
- '2181:2181'
environment:
# 匿名登录--必须开启
- ALLOW_ANONYMOUS_LOGIN=yes
volumes:
- ./zookeeper:/bitnami/zookeeper
# 该镜像具体配置参考 https://github.com/bitnami/bitnami-docker-kafka/blob/master/README.md
kafka:
#当前demo只测试了2.8版本,且没有使用KRaft
image: 'bitnami/kafka:2.8.0-debian-10-r55'
ports:
- '9092:9092'
- '9999:9999'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
# 给客户端访问的地址
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://123.57.236.125:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
# 允许使用PLAINTEXT协议(镜像中默认为关闭,需要手动开启)
- ALLOW_PLAINTEXT_LISTENER=yes
# 关闭自动创建 topic 功能
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
# 全局消息过期时间 6 小时(测试时可以设置短一点)
- KAFKA_CFG_LOG_RETENTION_HOURS=6
# 开启JMX监控
- JMX_PORT=9999
volumes:
- ./kafka:/bitnami/kafka
depends_on:
- zookeeper
# Web 管理界面 另外也可以用exporter+prometheus+grafana的方式来监控 https://github.com/danielqsj/kafka_exporter
kafka_manager:
image: 'hlebalbau/kafka-manager:3.0.0.5-7e7a22e'
ports:
- "9000:9000"
environment:
ZK_HOSTS: "zookeeper:2181"
APPLICATION_SECRET: letmein
depends_on:
- zookeeper
- kafka