Phase 2: Mit 3 Controllern
authorKai Moritz <kai@juplo.de>
Thu, 17 Apr 2025 20:37:27 +0000 (22:37 +0200)
committerKai Moritz <kai@juplo.de>
Sat, 19 Apr 2025 08:52:48 +0000 (10:52 +0200)
* Aktualisierung des Setups notwendig:
+
[source]
--
docker compose up setup
--
* Dies genügt hier, weil die `depends_on` entsprechend angepasst wurden

docker-compose.yml

index 307bd86..f8ac4fc 100644 (file)
@@ -9,6 +9,60 @@ services:
       - zookeeper-data:/var/lib/zookeeper/data
       - zookeeper-log:/var/lib/zookeeper/log
 
+  controller-1:
+    image: confluentinc/cp-kafka:7.9.0
+    environment:
+      CLUSTER_ID: 8e-KqCzwQPqK7EibrzJE5g
+      KAFKA_PROCESS_ROLES: controller
+      KAFKA_NODE_ID: 101
+      KAFKA_CONTROLLER_QUORUM_VOTERS: 101@controller-1:9092,102@controller-2:9092,103@controller-3:9092
+      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
+      KAFKA_LISTENERS: CONTROLLER://:9092
+      KAFKA_ZOOKEEPER_METADATA_MIGRATION_ENABLE: true
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_LOG4J_LOGGERS: "org.apache.kafka.metadata.migration=TRACE"
+    volumes:
+      - controller-1-data:/var/lib/kafka/data
+    stop_grace_period: 120s
+    depends_on:
+      - zookeeper
+
+  controller-2:
+    image: confluentinc/cp-kafka:7.9.0
+    environment:
+      CLUSTER_ID: 8e-KqCzwQPqK7EibrzJE5g
+      KAFKA_PROCESS_ROLES: controller
+      KAFKA_NODE_ID: 102
+      KAFKA_CONTROLLER_QUORUM_VOTERS: 101@controller-1:9092,102@controller-2:9092,103@controller-3:9092
+      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
+      KAFKA_LISTENERS: CONTROLLER://:9092
+      KAFKA_ZOOKEEPER_METADATA_MIGRATION_ENABLE: true
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_LOG4J_LOGGERS: "org.apache.kafka.metadata.migration=TRACE"
+    volumes:
+      - controller-2-data:/var/lib/kafka/data
+    stop_grace_period: 120s
+    depends_on:
+      - zookeeper
+
+  controller-3:
+    image: confluentinc/cp-kafka:7.9.0
+    environment:
+      CLUSTER_ID: 8e-KqCzwQPqK7EibrzJE5g
+      KAFKA_PROCESS_ROLES: controller
+      KAFKA_NODE_ID: 103
+      KAFKA_CONTROLLER_QUORUM_VOTERS: 101@controller-1:9092,102@controller-2:9092,103@controller-3:9092
+      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
+      KAFKA_LISTENERS: CONTROLLER://:9092
+      KAFKA_ZOOKEEPER_METADATA_MIGRATION_ENABLE: true
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_LOG4J_LOGGERS: "org.apache.kafka.metadata.migration=TRACE"
+    volumes:
+      - controller-3-data:/var/lib/kafka/data
+    stop_grace_period: 120s
+    depends_on:
+      - zookeeper
+
   kafka-1:
     image: confluentinc/cp-kafka:7.9.0
     environment:
@@ -28,7 +82,9 @@ services:
       - 9081:9081
     stop_grace_period: 120s
     depends_on:
-      - zookeeper
+      - controller-1
+      - controller-2
+      - controller-3
 
   kafka-2:
     image: confluentinc/cp-kafka:7.9.0
@@ -54,7 +110,9 @@ services:
           - kafka
     stop_grace_period: 120s
     depends_on:
-      - zookeeper
+      - controller-1
+      - controller-2
+      - controller-3
 
   kafka-3:
     image: confluentinc/cp-kafka:7.9.0
@@ -75,7 +133,9 @@ services:
       - 9083:9083
     stop_grace_period: 120s
     depends_on:
-      - zookeeper
+      - controller-1
+      - controller-2
+      - controller-3
 
   cli:
     image: juplo/toolbox
@@ -157,6 +217,9 @@ services:
 volumes:
   zookeeper-data:
   zookeeper-log:
+  controller-1-data:
+  controller-2-data:
+  controller-3-data:
   kafka-1-data:
   kafka-2-data:
   kafka-3-data: