Ошибка при настройке кластера с несколькими брокерами на локальном компьютере
Использование 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 брокера запустились без каких-либо проблем