From: Kai Moritz Date: Fri, 13 Mar 2026 19:57:58 +0000 (+0100) Subject: Setup für Docker von COMBINED auf ISOLATED (mit einem Controller) umgestellt X-Git-Tag: grundlagen/docker--2026-03--vor-branchumbenennung--springframework~1 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=70297c2a0037ccf72fa58e12842bc6cb7a2e6ecf;p=demos%2Fkafka%2Ftraining Setup für Docker von COMBINED auf ISOLATED (mit einem Controller) umgestellt --- diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f5ec3936..5b5c10c7 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,15 +1,32 @@ services: + controller: + image: apache/kafka:4.1.1 + environment: + KAFKA_NODE_ID: 0 + KAFKA_PROCESS_ROLES: controller + KAFKA_LISTENERS: CONTROLLER://:9093 + KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT + KAFKA_CONTROLLER_QUORUM_VOTERS: 0@controller:9093 + CLUSTER_ID: 4L6g3nShT-eMCtK--X86sw + KAFKA_SHARE_COORDINATOR_STATE_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_SHARE_COORDINATOR_STATE_TOPIC_MIN_ISR: 1 + KAFKA_LOG_DIRS: /var/lib/kafka/data + volumes: + - controller-data:/var/lib/kafka/data + stop_grace_period: 120s + kafka-1: image: apache/kafka:4.1.1 environment: KAFKA_NODE_ID: 1 - KAFKA_PROCESS_ROLES: broker, controller - KAFKA_LISTENERS: CONTROLLER://:9093, BROKER://:9092, LOCALHOST://:9081 + KAFKA_PROCESS_ROLES: broker + KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9081 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-1:9092, LOCALHOST://localhost:9081 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT, BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT - KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-1:9093,2@kafka-2:9093,3@kafka-3:9093 + KAFKA_CONTROLLER_QUORUM_VOTERS: 0@controller:9093 CLUSTER_ID: 4L6g3nShT-eMCtK--X86sw KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" @@ -20,18 +37,20 @@ services: ports: - 9081:9081 stop_grace_period: 120s + depends_on: + - controller kafka-2: image: apache/kafka:4.1.1 environment: KAFKA_NODE_ID: 2 - KAFKA_PROCESS_ROLES: broker, controller - KAFKA_LISTENERS: CONTROLLER://:9093, BROKER://:9092, LOCALHOST://:9082 + KAFKA_PROCESS_ROLES: broker + KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9082 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-2:9092, LOCALHOST://localhost:9082 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT, BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT - KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-1:9093,2@kafka-2:9093,3@kafka-3:9093 + KAFKA_CONTROLLER_QUORUM_VOTERS: 0@controller:9093 CLUSTER_ID: 4L6g3nShT-eMCtK--X86sw KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" @@ -47,18 +66,20 @@ services: aliases: - kafka stop_grace_period: 120s + depends_on: + - controller kafka-3: image: apache/kafka:4.1.1 environment: KAFKA_NODE_ID: 3 - KAFKA_PROCESS_ROLES: broker, controller - KAFKA_LISTENERS: CONTROLLER://:9093, BROKER://:9092, LOCALHOST://:9083 + KAFKA_PROCESS_ROLES: broker + KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9083 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9083 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT, BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT - KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-1:9093,2@kafka-2:9093,3@kafka-3:9093 + KAFKA_CONTROLLER_QUORUM_VOTERS: 0@controller:9093 CLUSTER_ID: 4L6g3nShT-eMCtK--X86sw KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" @@ -69,6 +90,8 @@ services: ports: - 9083:9083 stop_grace_period: 120s + depends_on: + - controller cli: image: juplo/toolbox @@ -132,6 +155,7 @@ services: - kafka-3 volumes: + controller-data: kafka-1-data: kafka-2-data: kafka-3-data: