Правильный способ настройки свойства слушателей в брокерах kafka - PullRequest
0 голосов
/ 17 февраля 2019

У нас есть кластер из 5 брокеров, и мы настроили server.properties, как показано ниже

listeners = PLAINTEXT: // kafka1: 9092
advertised.listeners = PLAINTEXT: // kafka1: 9092

Я добавил записи, подобные приведенным ниже, в файле / etc / hosts всех брокеров, производителей и потребителей

"Private: IP: kafka: broker1" kafka1

Это работает для нас по большей части, и нам не нужно запоминать частные IP-адреса серверов начальной загрузки при настройке новых потребителей.

Я хотел бы знать, является ли это правильным способом общения между брокерами и клиентами kafka?

Поскольку я не являюсь разработчиком DevOps, я не уверен, что это может вызвать скрытые проблемы.,Пожалуйста, прокомментируйте это.

Другое дело, что я наблюдаю случайные отключения среди брокера Kafka и клиентов, приводящие к различным проблемам.Я просто хочу прояснить возможность того, что это как-то вызывает проблемы.

1 Ответ

0 голосов
/ 18 февраля 2019

Я добавил записи, как показано ниже, в файле / etc / hosts для всех брокеров, производителей и потребителей

Это НЕ все в порядке.Пожалуйста, не делайте этого

Если вы не можете разрешить хосты только с помощью вашего свойства bootstrap.servers, то слушатели не верны.

Пожалуйста, прочитайте это объяснение Слушателей Кафки для всех деталей, которые вы могли бы хотеть.

нам не нужно запоминать частные IP-адреса серверов начальной загрузки при настройке новых потребителей

Вы можете использовать инструмент discovery для размещениядля этой проблемы.Консул является популярным, тогда вы просто указываете на kafka.service.consul:9092, и он «просто работает» с помощью магии DNS.

Или вам следует стандартизировать клиентскую библиотеку Kafka, которая уже предварительно настроена как минимум с настройкой серверов начальной загрузки, а затем вы передаете эту «библиотеку» внутренне своим разработчикам для использования

...