2017-01-21 16 views
4

Я пытаюсь протестировать один узел Kafka с 3 брокерами & zookeeper. Я хочу проверить с помощью консольных инструментов. Я бег производителя как таковые:Kafka bootstrap-servers vs zookeeper в kafka-console-consumer

kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic 

Тогда я бег потребителя как таковые:

kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning 

И я могу ввести сообщения в производителе и увидеть их в потребителе, как и ожидался. Однако, когда я запускаю обновленную версию потребителя с помощью bootstrap-сервера, я ничего не получаю. Например,

kafka-console-consumer --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic testTopic --from-beginning 

Это работало нормально, когда у меня был один брокер, работающий на порту 9092, поэтому я полностью смущен. Есть ли способ увидеть, что zookeeper предоставляет в качестве загрузочного сервера? Является ли сервер начальной загрузки отличным от списка брокеров? Кафка составлен с помощью Scala 2.11.

+0

Я вижу то же самое. Даже после удаления log.dir. Но, я не знаю, где это/брокеры/тема –

ответ

5

Я понятия не имею, что было неправильно. Наверно, я положил Кафку или Зоупера в странное состояние. После удаления тем из log.dir каждого брокера и тем, что темы для zookeeper в /brokers/topics, затем воссоздавая тему, потребитель Kafka вел себя так, как ожидалось.

+1

То же самое для меня. Теперь работаем. –

+0

Где находится/брокер/темы? –

+0

Я нашел его с zookeeper-оболочкой , а затем выдает команду: rmr/brokers/topics/TOPIC_NAME. Вы можете ввести справку в zookeeper-shell, чтобы увидеть команды. Также см. Это: http://stackoverflow.com/questions/43073955/kafka-consumer-with-new-api-not-working?noredirect11&lq=1 –

1

Бутстрап-серверы такие же, как и брокеры кафки. И если вы хотите увидеть список загрузочного zookeeper сервера загрузки, вы можете запросить информацию ZNode через любого клиента ZK. Все активные брокеры зарегистрированы в разделе/​​brokers/ids/[brokerId]. Все, что вам нужно, это адрес zkQuorum. Ниже команда даст вам список активных серверов начальной загрузки:

./zookeeper-shell.sh Localhost: 2181 < < < "Ls/брокеров/иды"

0

я испытал те же проблемы при использовании несовпадающих версий:

  • Кафки клиентских библиотек
  • Кафка скрипты
  • Кафка брокеры

В моем точном сценарии я использую клиент Сливной Кафки библиотеки версии 0.10.2.1 с Confluent Platform 3.3.0 с брокером Kafka 0.11.0.0. Когда я понизил свою Confluent Platform до 3.3.2, которая соответствовала моим клиентским библиотекам, потребитель работал должным образом.

Моя теория заключается в том, что последний пользователь kafka-console-потребитель, использующий новый API-интерфейс Consumer, получал сообщения только в последнем формате. В Kafka 0.11.0.0 было внесено несколько изменений формата сообщений.