Выборы лидера Kafka Провал Zookeeper

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

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

1 ответ

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

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

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

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

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

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

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

Другие вопросы по тегам