Skip to content

Commit f65d204

Browse files
committed
docker: remove use of Zookeeper for Kafka
1 parent 5a9a6e6 commit f65d204

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

docker/docker-compose-dev.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ services:
2121
file: versions.yml
2222
service: kafka
2323
environment:
24-
KAFKA_CFG_BROKER_ID: 1
25-
KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
24+
# KRaft settings
25+
KAFKA_CFG_NODE_ID: 0
26+
KAFKA_CFG_PROCESS_ROLES: controller,broker
27+
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka:9096
2628
# We have two sets of listeners: INTERNAL that is used from inside the docker
2729
# compose network and listens on "kafka" and EXTERNAL that is mapped to
2830
# the host network and listens on "localhost".
@@ -32,18 +34,21 @@ services:
3234
INTERNAL://:9092,
3335
OINTERNAL://:9093,
3436
EXTERNAL://:9094,
35-
OEXTERNAL://:9095
37+
OEXTERNAL://:9095,
38+
CONTROLLER://:9096
3639
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: >-
3740
INTERNAL:PLAINTEXT,
3841
OINTERNAL:SASL_PLAINTEXT,
3942
EXTERNAL:PLAINTEXT,
40-
OEXTERNAL:SASL_PLAINTEXT
43+
OEXTERNAL:SASL_PLAINTEXT,
44+
CONTROLLER:PLAINTEXT
4145
KAFKA_CFG_ADVERTISED_LISTENERS: >-
4246
INTERNAL://kafka:9092,
4347
OINTERNAL://kafka:9093,
4448
EXTERNAL://localhost:9092,
4549
OEXTERNAL://localhost:9093
4650
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: INTERNAL
51+
KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
4752
# OAuth2 configuration
4853
KAFKA_CFG_LISTENER_NAME_OEXTERNAL_SASL_ENABLED_MECHANISMS: OAUTHBEARER
4954
KAFKA_CFG_LISTENER_NAME_OEXTERNAL_SASL_OAUTHBEARER_JWKS_ENDPOINT_URL: http://mock-oauth2-server:8080/default/jwks
@@ -64,7 +69,6 @@ services:
6469
unsecuredLoginStringClaim_sub="sub";
6570
KAFKA_CFG_LISTENER_NAME_OINTERNAL_OAUTHBEARER_SASL_SERVER_CALLBACK_HANDLER_CLASS: org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerValidatorCallbackHandler
6671
depends_on:
67-
- zookeeper
6872
- mock-oauth2-server
6973
ports:
7074
- 127.0.0.1:9092:9094/tcp

docker/docker-compose.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,20 @@ services:
3333
file: versions.yml
3434
service: kafka
3535
environment:
36-
- KAFKA_ZOOKEEPER_PROTOCOL=PLAINTEXT
37-
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
36+
# KRaft settings
37+
- KAFKA_CFG_NODE_ID=0
38+
- KAFKA_CFG_PROCESS_ROLES=controller,broker
39+
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
40+
# Listeners
41+
- KAFKA_CFG_LISTENERS=CLIENT://:9092,CONTROLLER://:9093
42+
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,CONTROLLER:PLAINTEXT
43+
- KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092
44+
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
45+
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=CLIENT
46+
# Misc
3847
- KAFKA_CFG_DELETE_TOPIC_ENABLE=true
39-
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
40-
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
41-
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
42-
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
4348
- JMX_PORT=5555
4449
restart: unless-stopped
45-
depends_on:
46-
zookeeper:
47-
condition: service_healthy
4850
volumes:
4951
- akvorado-kafka:/bitnami/kafka
5052
healthcheck:

0 commit comments

Comments
 (0)