Ошибка при настройке кластера с несколькими брокерами на локальном компьютере

Использование Kafka в Ubuntu: Zookeeper запущен Kafka запущен Тема создана Создатель запущен Потребитель запущен Сообщения доставляются нормально от производителя к потребителю

Я создал 2 новых файла server.properties как: server-1.properties как:

broker.id=1
listeners=PLAINTEXT://:9093
log.dir=C:\kafka\kafka-logs-1

server-2.properties как:

broker.id=2
listeners=PLAINTEXT://:9094
log.dir=C:\kafka\kafka-logs-2

Когда я начал новый брокер как:

bin\windows\kafka-server-start.sh config\server-1.properties &

Получил ошибку как:

kafka.common.KafkaException: Socket server failed to bind to 0.0.0.0:9092: Address already in use: bind

4 ответа

Это происходит потому, что брокеры, которых вы добавили, оба слушают порт 9092 который в настоящее время используется первым брокером.

В server-1.properties файл, который нужно добавить

port=9093

И в server-2.properties

port=9094

Держите эти строки listeners=PLAINTEXT://:9093, listeners=PLAINTEXT://:9094 закомментирован.

Также убедитесь, что вы используете разные broker.id для каждого случая.

Если вы пытаетесь настроить мультиброкерский кластер Kafka с одним узлом Zookeeper, это видео может оказаться полезным.

Если вы используете несколько брокеров, используйте следующий тип объявления брокера на

server.properties

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs

server.1.properties

broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs1

server.2.properties

broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs2

server.3.properties

broker.id=3
listeners=PLAINTEXT://:9095
log.dirs=/tmp/kafka-logs3

Если вы используете слитную версию, обязательно обновите следующие

первый брокер:confluent.metadata.server.listeners=http://0.0.0.0:8090

второй брокер:confluent.metadata.server.listeners=http://0.0.0.0:8091

У меня была такая же проблема с моей локальной настройкой с 3 разными vms, на которых запущены kafka и 1 zookeeper, 2 запускались нормально, кроме одного. Меня направили проверить /etc/hosts с неправильным IP-адресом, установленным для имени, после исправления того, что мои 3 брокера запустились без каких-либо проблем

Другие вопросы по тегам