Должен ли потребительский компьютер kafka запускать zookeeper? - PullRequest
1 голос
/ 16 января 2020

Итак, мой вопрос таков: если у меня есть сервер, на котором запущен Kafka (и zookeeper), и другая машина, принимающая только сообщения, должен ли потребительский компьютер также запускать zookeeper? Или сервер обо всем позаботится?

Ответы [ 3 ]

4 голосов
/ 16 января 2020

No.

Роль Zookeeper в Kafka:

  • Регистрация брокера: (членство в кластере) с механизмом пульса для поддержания актуальности списка
  • Хранение конфигурации topi c: какие разделы существуют, сколько разделов у каждого, где находятся реплики, кто является предпочтительным лидером, список ISR для разделов
  • Выбор контроллера: Контроллер является одним из брокеров и отвечает за поддержание отношений лидер / последователь для всех разделов.

Таким образом, Zookeeper требуется только для брокера kafka. Нет необходимости иметь Zookeper на стороне производителя или потребителя.

1 голос
/ 16 января 2020

Потребителю не нужен зоопарк

0 голосов
/ 17 января 2020

Вы не упомянули, какую версию Kafka или клиентов вы используете.

Потребители Kafka, использующие 0.8, сохраняют свои смещения в Zookeeper, поэтому это необходимо для них. Однако нет, вы не будете запускать Zookeeper и потребителей на одном и том же сервере

Начиная с версии 0.9 и выше, клиенты отделены от необходимости в ней (если вы не хотите самостоятельно управлять внешними подключениями к Zookeeper для хранения данных)

...