Обновляется ли лидер Kafka Preferred когда-либо, даже если у брокеров все в порядке? - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь создать службу мониторинга 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) 

1 Ответ

0 голосов
/ 31 марта 2020

С Кафкой не было ничего плохого. Я обнаружил, что это было самоисцеление круиз-контроля, которое не работало, как ожидалось (не исключая темы).

...