Я пытаюсь создать службу мониторинга kafka, которая должна иметь хотя бы один раздел topi c на каждом брокере в кластере. Я назначил разделы изначально. Я установил коэффициент репликации равным 1, а min.insyn c .replicas также равен 1, и я делаю с производителем syn c с acks = all.
Первоначально назначение посредника разделов выглядит следующим образом
Partition 0 : Broker 0 (Leader) , Broker 0 (Preferred Leader)
Partition 1 : Broker 1 (Leader) , Broker 1 (Preferred Leader)
Partition 2 : Broker 2 (Leader) , Broker 2 (Preferred Leader)
Когда я пытаюсь убить посредника (например, посредника 2), раздел, лидером которого был этот посредник, должен и отчитывается Ошибка «Нет лидера». Теперь, так как у меня есть 1 репликация, и только лидер является синонимом c реплики, kafka не будет переизбирать любого другого брокера в качестве лидера, что ожидается, и пока здесь все в порядке.
На этом этапе назначение посредника разделов выглядит следующим образом:
Partition 0 : Broker 0 (Leader) , Broker 0 (Preferred Leader)
Partition 1 : Broker 1 (Leader) , Broker 1 (Preferred Leader)
Partition 2 : -1 , Broker 2 (Preferred Leader)
ВОПРОС: Но когда этот посредник возвращается, как лидер, так и предпочтительный лидер разделов обновляются до некоторого другой брокер. Я этого не понимаю и не ожидаю. Итак, я пропускаю какие-либо конфиги, или кто-нибудь когда-либо сталкивался с этой проблемой?
Назначение посредника разделов выглядит следующим образом. Почему ??
Partition 0 : Broker 0 (Leader) , Broker 0 (Preferred Leader)
Partition 1 : Broker 0 (Leader) , Broker 0 (Preferred Leader)
Partition 2 : Broker 0 (Leader) , Broker 0 (Preferred Leader)