kafka broker недоступен при запуске

Я установил на узле ubuntu кластера экземпляр kafka 0.11.0.0. До тех пор, пока несколько недель назад все работало нормально, сегодня я пытаюсь запустить его, и я получаю эту ошибку после загрузки:

[2017-09-11 16:21:13,894] INFO [Kafka Server 0], started (kafka.server.KafkaServer)
[2017-09-11 16:21:18,998] WARN Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2017-09-11 16:21:21,991] WARN Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
... and so on...

Мои свойства server.properties:

############################# Server Basics #############################

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0

# Switch to enable topic deletion or not, default value is false
delete.topic.enable=true

############################# Socket Server Settings ##########################$

# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
#listeners=PLAINTEXT://9092

# Hostname and port the broker will advertise to producers and consumers. If no$
# it uses the value for "listeners" if configured.  Otherwise, it will use the $
# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://hidden_ip:55091

Я отредактировал advertised.listeners, потому что есть прокси для перенаправления запросов к брокеру. В любом случае, пока несколько недель назад все работало нормально...

Мой шаг, чтобы начать кафку:

1- service zookeeper start 
2- ./kafka_2.11-0.11.0.0/bin/kafka-server-start.sh ~/kafka_2.11-0.11.0.0/config/server.properties

Все советы? Спасибо

Ответ 1

У меня тоже была такая же проблема...

Итак, я начинаю, спрашивая Zookeeper некоторые данные

echo dump | nc localhost 2181

Я получаю что-то вроде этого

SessionTracker dump:
Session Sets (3):
0 expire at Sun Dec 03 18:15:48 GST 2017:
0 expire at Sun Dec 03 18:15:51 GST 2017:
1 expire at Sun Dec 03 18:15:54 GST 2017:
0x1601c9a25190000
ephemeral nodes dump:
Sessions with Ephemerals (1):
0x1601c9a25190000:
/controller
/brokers/ids/0

Я прочитал это, чтобы означать, что у меня есть 1 брокер - и он имеет идентификатор 0.

Итак, давайте узнаем об этом брокере.

bin/zookeeper-shell.sh localhost:2181 <<< "get /brokers/ids/0"

И я вижу

{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://192.168.1.220:9092"],"jmx_port":-1,"host":"192.168.1.220","timestamp":"1512308520781","port":9092,"version":4}
cZxid = 0x69
ctime = Sun Dec 03 17:42:00 GST 2017
mZxid = 0x69
mtime = Sun Dec 03 17:42:00 GST 2017
pZxid = 0x69
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x1601c9a25190000
dataLength = 196
numChildren = 0

Это довольно поразило меня... PLAINTEXT://192.168.1.220: 9092, поэтому, когда я изменил свою строку подключения, чтобы прочитать

bin/kafka-console-producer.sh  --broker-list PLAINTEXT://192.168.1.220:9092  --topic test

Теперь все работает.

Удачи !!

Ответ 2

раскомментировать эту строку

слушатели = PLAINTEXT://: 9092

изменил это на

слушатели = PLAINTEXT://127.0.0.1: 9092

Ответ 3

Мы столкнулись с такой же ситуацией, когда мы начали искать журналы для фактической причины ошибки.

Когда мы запускали кластер Kafka, он использовался по умолчанию

listeners=PLAINTEXT://:9092

для подключения и не смог найти хост.

Мы изменили линию на

listeners=PLAINTEXT://<our ip address> :9092,

затем

listeners=PLAINTEXT://<our ip address> :9093, 

в нашем server-1.properties (еще один файл файл брокера) и то же самое мы реплицировали в другой файл server.properties и перезапустили наш кластер.

Ответ 4

я сконфигурировал слушателя kafka server.properties как listeners=PLAINTEXT://**10.127.96.151**:9092

но я ./kafka-console-consumer.sh --bootstrap-server **localhost**:9092 --topic topic1 --from-beginning к покупателю как ./kafka-console-consumer.sh --bootstrap-server **localhost**:9092 --topic topic1 --from-beginning, затем он разрывает WARN.

когда я исправляю потребительский bootstrap-сервер как 10.127.96.151: 9092, он работает хорошо, без каких-либо WARN

Ответ 5

я server.propertes:

listeners=PLAINTEXT://hidden_ip:9092

когда я запускаю:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic lt1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic lt1
Я получаю такую же ошибку, как и вы. И попробую запустить:

bin/kafka-console-producer.sh --broker-list hidden_ip:9092 --topic lt1

он работает, я не получаю ошибок.
Поэтому я думаю, вы должны проверить, какой сервер порта kafka используется. Эта ошибка, когда порт не используется, или вы подключаете неверный ip.
PS: Я запускаю это на той же машине.

Ответ 6

Я также столкнулся с той же проблемой на WINDOWS 10 и просмотрел все ответы в этом посте. Что вызвало эту проблему для меня и как я решил это, На моей новой машине с Windows я выполнил установку jre (jre-8u221) и затем выполнил шаги, упомянутые в документации Apache Kafka, чтобы запустить zookeeper, kafka server, отправлять сообщения через производителя и т.д. Но я получал ошибки, связанные с брокером, который недоступен. Затем я скачал jdk (jdk-8u221 из Oracle) и установил его. Установите переменные JAVA_HOME и Path и перезагрузите компьютер. Все после того, как работал за один раз.