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>
Sun, 25 May 2025 11:30:39 +0000 (13:30 +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 3823817..a7d342f 100644 (file)
@@ -14,6 +14,63 @@ services:
       timeout: 0s
       retries: 10
 
+  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:
+        condition: service_healthy
+
+  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:
+        condition: service_healthy
+
+  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:
+        condition: service_healthy
+
   kafka-1:
     image: confluentinc/cp-kafka:7.9.0
     environment:
@@ -59,8 +116,9 @@ services:
       - 9081:9081
     stop_grace_period: 120s
     depends_on:
-      zookeeper:
-        condition: service_healthy
+      controller-1:
+      controller-2:
+      controller-3:
 
   kafka-2:
     image: confluentinc/cp-kafka:7.9.0
@@ -112,8 +170,9 @@ services:
           - kafka
     stop_grace_period: 120s
     depends_on:
-      zookeeper:
-        condition: service_healthy
+      controller-1:
+      controller-2:
+      controller-3:
 
   kafka-3:
     image: confluentinc/cp-kafka:7.9.0
@@ -160,8 +219,9 @@ services:
       - 9083:9083
     stop_grace_period: 120s
     depends_on:
-      zookeeper:
-        condition: service_healthy
+      controller-1:
+      controller-2:
+      controller-3:
 
   cli:
     image: juplo/toolbox
@@ -283,6 +343,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: