Docker-Setup auf `bitnami/kafka:3.4` aktualisiert und vereinfacht
authorKai Moritz <kai@juplo.de>
Sun, 11 Jun 2023 11:55:20 +0000 (13:55 +0200)
committerKai Moritz <kai@juplo.de>
Sun, 11 Jun 2023 15:17:26 +0000 (17:17 +0200)
* Die Konfiguration musste an (undokumentierte?!) Änderungen in der
  version 3.4 von `bitnami/kafka` angepasst werden.
* Die drei Broker spielen jetzt gleichzeitig Controller. D.h., der
  Service `kafka-0`, der explizit Controller gespielt hat, fällt weg.

docker-compose.yml

index 9454ed3..aead435 100644 (file)
@@ -1,54 +1,35 @@
 version: '3.2'
 services:
-  kafka-0:
-    image: bitnami/kafka:3.3.1
-    environment:
-      KAFKA_ENABLE_KRAFT: 'yes'
-      KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
-      KAFKA_CFG_PROCESS_ROLES: controller
-      KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
-      KAFKA_CFG_LISTENERS: CONTROLLER://:9092
-      KAFKA_CFG_ADVERTISED_LISTENERS: " "
-      KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT
-      KAFKA_BROKER_ID: 0
-      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
-      ALLOW_PLAINTEXT_LISTENER: 'yes'
-      KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
-      KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
 
   kafka-1:
-    image: bitnami/kafka:3.3.1
+    image: bitnami/kafka:3.4
     environment:
       KAFKA_ENABLE_KRAFT: 'yes'
       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
-      KAFKA_CFG_PROCESS_ROLES: broker
       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
-      KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9081
+      KAFKA_CFG_LISTENERS: CONTROLLER://:9093, BROKER://:9092, LOCALHOST://:9081
       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-1:9092, LOCALHOST://localhost:9081
-      KAFKA_BROKER_ID: 1
-      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
+      KAFKA_CFG_NODE_ID: 1
+      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 1@kafka-1:9093, 2@kafka-2:9093, 3@kafka-3:9093
       ALLOW_PLAINTEXT_LISTENER: 'yes'
       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
     ports:
       - 9081:9081
-    depends_on:
-      - kafka-0
 
   kafka-2:
-    image: bitnami/kafka:3.3.1
+    image: bitnami/kafka:3.4
     environment:
       KAFKA_ENABLE_KRAFT: 'yes'
       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
-      KAFKA_CFG_PROCESS_ROLES: broker
       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
-      KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9082
+      KAFKA_CFG_LISTENERS: CONTROLLER://:9093, BROKER://:9092, LOCALHOST://:9082
       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-2:9092, LOCALHOST://localhost:9082
-      KAFKA_BROKER_ID: 2
-      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
+      KAFKA_CFG_NODE_ID: 2
+      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 1@kafka-1:9093, 2@kafka-2:9093, 3@kafka-3:9093
       ALLOW_PLAINTEXT_LISTENER: 'yes'
       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
@@ -60,29 +41,24 @@ services:
       default:
         aliases:
           - kafka
-    depends_on:
-      - kafka-0
 
   kafka-3:
-    image: bitnami/kafka:3.3.1
+    image: bitnami/kafka:3.4
     environment:
       KAFKA_ENABLE_KRAFT: 'yes'
       KAFKA_KRAFT_CLUSTER_ID: r7dMBY60T16TrNCGeXniLw
-      KAFKA_CFG_PROCESS_ROLES: broker
       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
-      KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9083
+      KAFKA_CFG_LISTENERS: CONTROLLER://:9093, BROKER://:9092, LOCALHOST://:9083
       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, CONTROLLER:PLAINTEXT, LOCALHOST:PLAINTEXT
       KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9083
-      KAFKA_BROKER_ID: 3
-      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka-0:9092
+      KAFKA_CFG_NODE_ID: 3
+      KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 1@kafka-1:9093, 2@kafka-2:9093, 3@kafka-3:9093
       ALLOW_PLAINTEXT_LISTENER: 'yes'
       KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
       KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
       KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
     ports:
       - 9083:9083
-    depends_on:
-      - kafka-0
 
 
   setup: