Kafka-Version aktualisiert: 3.3.1 -> 3.5.1
[demos/kafka/training] / docker-compose.yml
1 version: '3.2'
2 services:
3   kafka-0:
4     image: bitnami/kafka:3.5.1
5     environment:
6       KAFKA_ENABLE_KRAFT: 'yes'
7       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
8       KAFKA_CFG_PROCESS_ROLES: controller
9       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
10       KAFKA_CFG_LISTENERS: CONTROLLER://:9092
11       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT
12       KAFKA_CFG_NODE_ID: 0
13       KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
14       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
15       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
16
17   kafka-1:
18     image: bitnami/kafka:3.5.1
19     environment:
20       KAFKA_ENABLE_KRAFT: 'yes'
21       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
22       KAFKA_CFG_PROCESS_ROLES: broker
23       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
24       KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9081
25       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
26       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-1:9092, LOCALHOST://localhost:9081
27       KAFKA_CFG_NODE_ID: 1
28       KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
29       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
30       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
31       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
32     ports:
33       - 9081:9081
34     depends_on:
35       - kafka-0
36
37   kafka-2:
38     image: bitnami/kafka:3.5.1
39     environment:
40       KAFKA_ENABLE_KRAFT: 'yes'
41       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
42       KAFKA_CFG_PROCESS_ROLES: broker
43       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
44       KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9082
45       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
46       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-2:9092, LOCALHOST://localhost:9082
47       KAFKA_CFG_NODE_ID: 2
48       KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
49       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
50       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
51       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
52     ports:
53       - 9092:9082
54       - 9082:9082
55     networks:
56       default:
57         aliases:
58           - kafka
59     depends_on:
60       - kafka-0
61
62   kafka-3:
63     image: bitnami/kafka:3.5.1
64     environment:
65       KAFKA_ENABLE_KRAFT: 'yes'
66       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
67       KAFKA_CFG_PROCESS_ROLES: broker
68       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
69       KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9083
70       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
71       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9083
72       KAFKA_CFG_NODE_ID: 3
73       KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
74       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
75       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
76       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
77     ports:
78       - 9083:9083
79     depends_on:
80       - kafka-0
81
82
83   setup:
84     image: juplo/toolbox
85     command: >
86       bash -c "
87         kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test
88         kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 2 --replication-factor 3 --config min.insync.replicas=2
89         echo Das Topic \'test\' wurde erfolgreich angelegt:
90         kafka-topics --bootstrap-server kafka:9092 --describe --topic test
91         echo \'docker-compose restart -t0 setup\' löscht das Topic und legt es neu an
92         sleep infinity
93       "
94     depends_on:
95       - kafka-1
96       - kafka-2
97       - kafka-3
98
99   akhq:
100     image: tchiotludo/akhq:0.23.0
101     ports:
102       - 8000:8080
103     environment:
104       AKHQ_CONFIGURATION: |
105         akhq:
106           connections:
107             docker-kafka-server:
108               properties:
109                 bootstrap.servers: "kafka:9092"
110     depends_on:
111       - kafka-1
112       - kafka-2
113       - kafka-3
114
115   cli:
116     image: juplo/toolbox
117     command: sleep infinity
118     depends_on:
119       - setup