Kafka Consumer не получает сообщения, если один из узлов кластера не работает - PullRequest
0 голосов
/ 24 мая 2018

У меня есть кластер Kafka с 3 брокерами.Репликация настроена:

offsets.topic.replication.factor = 3

Все работает нормально, пока один из брокеров не выйдет из строя.Затем Consumer (написанный на Scala) прекращает получать сообщения и начинает непрерывно генерировать следующие сообщения:

2018-05-24 19:59:27 DEBUG Fetcher: 425 - Лидер для раздела SOMETOPIC-1недоступен для извлечения смещения, дождитесь обновления метаданных

2018-05-24 19:59:27 DEBUG Fetcher: 425 - Лидер для раздела SOMETOPIC-1 недоступен для извлечения смещения, дождитесь обновления метаданных

2018-05-24 19:59:27 DEBUG NetworkClient: 640 - Отправка запроса метаданных {themes = [SOMETOPIC]} на узел 0

2018-05-24 19:59:27 DEBUG Метаданные: 180 -Обновлены метаданные кластера версии 5402 до кластера (узлы = [kafka-1: 9092 (id: 0 rack: null)], разделы = [Раздел (раздел = SOMETOPIC, раздел = 0, лидер = нет, реплики = [1,],isr = [], Раздел (тема = SOMETOPIC, раздел = 1, лидер = нет, реплики = [2,], isr = [], Раздел (тема = SOMETOPIC, раздел = 2, лидер = 0, реплики = [0,], isr = [0,]])

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

1 Ответ

0 голосов
/ 25 мая 2018

Наконец исправлено.Хотя я установил offsets.topic.replication.factor = 3, новые темы создавались автоматически с коэффициентом репликации по умолчанию 1, поэтому я добавил следующее свойство, которое устранило мою проблему:

default.replication.factor=3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...