Выборы лидера Kafka Zookeeper failure - PullRequest
0 голосов
/ 09 мая 2020

Контроллер выбирает нового лидера из ISR для раздела, когда умирает текущий. Насколько я понимаю, эти данные сохраняются в Zookeeper. Что происходит, когда узел Zookeeper умирает во время этой записи? Может ли это означать, что некоторые брокеры могут по-прежнему иметь другого лидера для раздела, избранного новым лидером?

Я попытался покопаться в документации, но не нашел ничего удовлетворительного.

1 Ответ

1 голос
/ 09 мая 2020

Насколько я понимаю, эти данные сохраняются в Zookeeper

Да, этот набор ISR сохраняется в ZooKeeper при каждом изменении. ( Ссылка )

Что происходит, когда узел Zookeeper умирает во время этой записи?

Zookeeper работает в кворуме, и это означает, что большинство серверов из кластер. (См. Этот SO answer ) (фрагмент ниже)

  1. В кластере с 3 узлами большинство составляет 2 узла. Таким образом, вы можете допустить, чтобы только 1 узел не синхронизировался c одновременно.

  2. В кластере из 5 узлов большинство из них составляет 3 узла. Таким образом, вы можете допустить, чтобы только 2 узла не были синхронизированы c одновременно.

Пока есть большинство, решение принимается, и выборы лидера продолжаются.

...