Минимальный размер кластера zookeeper

Я запустил ансамбль из 6 узлов зоопарка для координации 4 экземпляров kafka. Этот кластер разделен на две отдельные сетевые зоны. Каждая зона содержит:

  • 2 сервера с экземплярами zookeeper + kafka

  • 1 сервер, на котором работает только один экземпляр zookeeper.

Учитывая, что в конце концов у меня есть 6 ансамблей zookeeper, и, как уже было сказано ранее, я ожидал, что в моих тестах на избыточность мой zookeeper / kafka будет работать правильно, даже если я убил 3 процесса zookeeper (каждый на другом сервере). Но я заметил, что могу просто убить максимум 2 процесса зоопарка, пока ансамбль не выйдет из строя.

У меня все конфигурационные файлы kafka и zookeeper правильно написаны и я рассматриваю все 6 серверов как весь мой кластер. Как вы думаете, что это может быть? Я хотел бы иметь любую подсказку, которая могла бы помочь мне понять, что здесь не так.


person Saulo Ricci    schedule 10.09.2015    source источник
comment
Zookeeper нуждается в большинстве узлов для продолжения работы — 3/6 живых узлов, очевидно, не являются большинством, а 4/6. Общий совет — иметь нечетное количество узлов, так как четное число не обеспечивает дополнительной избыточности, а только уменьшает задержки, поскольку между одноранговыми узлами происходит немного больше разговоров.   -  person om-nom-nom    schedule 10.09.2015
comment
@ om-nom-nom Всегда ли Zookeeper требуется большинство из настроенного списка серверов? Или возможно только большинство синхронизированных серверов?   -  person Saulo Ricci    schedule 11.09.2015
comment
Это официальная справочная документация по четному и нечетному количеству машин: zookeeper.apache.org/doc/r3.3.3/ Этот вопрос содержит полезную информацию и ссылки: stackoverflow.com/questions/13022244/   -  person Matthew Daumen    schedule 11.09.2015