Anonymous
Ошибка запуска брокера Kafka в кластере Kraft
Сообщение
Anonymous » 06 фев 2025, 15:38
Я хотел бы настроить 3 брокера и 3 контроллера с опцией для расширения. Lang-Yaml PrettyPrint-Override ">
Код: Выделить всё
services:
# 📌 Controller-1
kafka-controller-1:
image: bitnami/kafka:latest
container_name: kafka-controller-1
ports:
- "9093:9093"
environment:
- KAFKA_CFG_NODE_ID=1
- KAFKA_CFG_PROCESS_ROLES=controller
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093
- KAFKA_CFG_LISTENERS=CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_KRAFT_CLUSTER_ID=kafka-cluster
# 📌 Controller-2
kafka-controller-2:
image: bitnami/kafka:latest
container_name: kafka-controller-2
ports:
- "9193:9093"
environment:
- KAFKA_CFG_NODE_ID=2
- KAFKA_CFG_PROCESS_ROLES=controller
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093
- KAFKA_CFG_LISTENERS=CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_KRAFT_CLUSTER_ID=kafka-cluster
# 📌 Controller-3
kafka-controller-3:
image: bitnami/kafka:latest
container_name: kafka-controller-3
ports:
- "9293:9093"
environment:
- KAFKA_CFG_NODE_ID=3
- KAFKA_CFG_PROCESS_ROLES=controller
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093
- KAFKA_CFG_LISTENERS=CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_KRAFT_CLUSTER_ID=kafka-cluster
# 🔥 Broker-1
kafka-broker-1:
image: bitnami/kafka:latest
container_name: kafka-broker-1
depends_on:
kafka-controller-1:
condition: service_started
kafka-controller-2:
condition: service_started
kafka-controller-3:
condition: service_started
ports:
- "9092:9092"
environment:
- KAFKA_CFG_NODE_ID=4
- KAFKA_CFG_PROCESS_ROLES=broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker-1:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
- KAFKA_CFG_NUM_PARTITIONS=18
- KAFKA_KRAFT_CLUSTER_ID=kafka-cluster
- KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
healthcheck:
test: [ "CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka-broker-1:9092" ]
interval: 10s
timeout: 5s
retries: 5
# 🔥 Broker-2
kafka-broker-2:
image: bitnami/kafka:latest
container_name: kafka-broker-2
depends_on:
kafka-controller-1:
condition: service_started
kafka-controller-2:
condition: service_started
kafka-controller-3:
condition: service_started
ports:
- "9192:9092"
environment:
- KAFKA_CFG_NODE_ID=5
- KAFKA_CFG_PROCESS_ROLES=broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker-2:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
- KAFKA_CFG_NUM_PARTITIONS=18
- KAFKA_KRAFT_CLUSTER_ID=kafka-cluster
- KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
healthcheck:
test: [ "CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka-broker-2:9092" ]
interval: 10s
timeout: 5s
retries: 5
# 🔥 Broker-3
kafka-broker-3:
image: bitnami/kafka:latest
container_name: kafka-broker-3
depends_on:
kafka-controller-1:
condition: service_started
kafka-controller-2:
condition: service_started
kafka-controller-3:
condition: service_started
ports:
- "9292:9092"
environment:
- KAFKA_CFG_NODE_ID=6
- KAFKA_CFG_PROCESS_ROLES=broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker-3:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
- KAFKA_CFG_NUM_PARTITIONS=18
- KAFKA_KRAFT_CLUSTER_ID=kafka-cluster
- KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
healthcheck:
test: [ "CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka-broker-3:9092" ]
interval: 10s
timeout: 5s
retries:
5
< /code>
Теперь я получаю эту ошибку: < /p>
2025-02-06 12:29:04 Picked up JAVA_TOOL_OPTIONS:
2025-02-06 12:29:05 Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: controller.listener.names must contain at least one value when running KRaft with just the broker role
На каждом брокером.
Как включить эту настройку?
Подробнее здесь:
https://stackoverflow.com/questions/794 ... ft-cluster
1738845483
Anonymous
Я хотел бы настроить 3 брокера и 3 контроллера с опцией для расширения. Lang-Yaml PrettyPrint-Override ">[code]services: # 📌 Controller-1 kafka-controller-1: image: bitnami/kafka:latest container_name: kafka-controller-1 ports: - "9093:9093" environment: - KAFKA_CFG_NODE_ID=1 - KAFKA_CFG_PROCESS_ROLES=controller - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093 - KAFKA_CFG_LISTENERS=CONTROLLER://:9093 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_ENABLE_KRAFT=yes - KAFKA_KRAFT_CLUSTER_ID=kafka-cluster # 📌 Controller-2 kafka-controller-2: image: bitnami/kafka:latest container_name: kafka-controller-2 ports: - "9193:9093" environment: - KAFKA_CFG_NODE_ID=2 - KAFKA_CFG_PROCESS_ROLES=controller - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093 - KAFKA_CFG_LISTENERS=CONTROLLER://:9093 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_ENABLE_KRAFT=yes - KAFKA_KRAFT_CLUSTER_ID=kafka-cluster # 📌 Controller-3 kafka-controller-3: image: bitnami/kafka:latest container_name: kafka-controller-3 ports: - "9293:9093" environment: - KAFKA_CFG_NODE_ID=3 - KAFKA_CFG_PROCESS_ROLES=controller - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093 - KAFKA_CFG_LISTENERS=CONTROLLER://:9093 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_ENABLE_KRAFT=yes - KAFKA_KRAFT_CLUSTER_ID=kafka-cluster # 🔥 Broker-1 kafka-broker-1: image: bitnami/kafka:latest container_name: kafka-broker-1 depends_on: kafka-controller-1: condition: service_started kafka-controller-2: condition: service_started kafka-controller-3: condition: service_started ports: - "9092:9092" environment: - KAFKA_CFG_NODE_ID=4 - KAFKA_CFG_PROCESS_ROLES=broker - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093 - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker-1:9092 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT - KAFKA_ENABLE_KRAFT=yes - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true - KAFKA_CFG_NUM_PARTITIONS=18 - KAFKA_KRAFT_CLUSTER_ID=kafka-cluster - KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER healthcheck: test: [ "CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka-broker-1:9092" ] interval: 10s timeout: 5s retries: 5 # 🔥 Broker-2 kafka-broker-2: image: bitnami/kafka:latest container_name: kafka-broker-2 depends_on: kafka-controller-1: condition: service_started kafka-controller-2: condition: service_started kafka-controller-3: condition: service_started ports: - "9192:9092" environment: - KAFKA_CFG_NODE_ID=5 - KAFKA_CFG_PROCESS_ROLES=broker - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093 - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker-2:9092 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT - KAFKA_ENABLE_KRAFT=yes - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true - KAFKA_CFG_NUM_PARTITIONS=18 - KAFKA_KRAFT_CLUSTER_ID=kafka-cluster - KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER healthcheck: test: [ "CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka-broker-2:9092" ] interval: 10s timeout: 5s retries: 5 # 🔥 Broker-3 kafka-broker-3: image: bitnami/kafka:latest container_name: kafka-broker-3 depends_on: kafka-controller-1: condition: service_started kafka-controller-2: condition: service_started kafka-controller-3: condition: service_started ports: - "9292:9092" environment: - KAFKA_CFG_NODE_ID=6 - KAFKA_CFG_PROCESS_ROLES=broker - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-controller-1:9093,2@kafka-controller-2:9093,3@kafka-controller-3:9093 - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka-broker-3:9092 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT - KAFKA_ENABLE_KRAFT=yes - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true - KAFKA_CFG_NUM_PARTITIONS=18 - KAFKA_KRAFT_CLUSTER_ID=kafka-cluster - KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER healthcheck: test: [ "CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka-broker-3:9092" ] interval: 10s timeout: 5s retries: 5 < /code> Теперь я получаю эту ошибку: < /p> 2025-02-06 12:29:04 Picked up JAVA_TOOL_OPTIONS: 2025-02-06 12:29:05 Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: controller.listener.names must contain at least one value when running KRaft with just the broker role [/code] На каждом брокером. Как включить эту настройку? Подробнее здесь: [url]https://stackoverflow.com/questions/79417920/error-starting-kafka-broker-in-a-kraft-cluster[/url]