Zookeeper устойчивость - PullRequest
       17

Zookeeper устойчивость

0 голосов
/ 01 апреля 2020

У нас есть кластер из 17 брокеров и 5 зоопарков. Я хотел проверить устойчивость зоопарков. Итак, я снял 3 зоопарка, так как я понимаю, что для кластера с 5 зоопарками максимальный сбой, который он может выдержать, - это сбой 2 (с использованием правила 2n + 1) зоокейперов. Но, к моему удивлению, я смог производить и потреблять данные. И даже со всеми зоопарками (то есть со всеми 5) я смог получить данные. Могут ли некоторые объяснить причину этих двух поведений?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Кафка может нормально работать без Zookeeper, если нет необходимости менять In Syn c Реплики. Кафка начнет выдавать ошибки, когда в ISR будет какое-либо обновление для любого раздела, когда брокеры отскакивают / присоединяются.

0 голосов
/ 01 апреля 2020

Zookeeper требуется только для уведомлений, когда в кластере происходят изменения. Скажем, брокеры присоединяются к кластеру или уходят вниз. Если все брокеры работают, и есть потребители / производители, подключенные к нему и отправляющие / получающие данные, нет необходимости в общении с зоопарком, и все будет продолжать работать. Новые подключения производителя / потребителя могут не работать, но я не уверен на 100% в этом.

Когда брокеры присоединяются к кластеру или покидают его, потребители должны получать уведомления, чтобы они могли указать для правильных лидеров для разделов / тем, из которых они потребляют. Кроме того, другие брокеры должны быть уведомлены, чтобы начать синхронизацию данных с новым брокером или взять на себя лидерство по темам / разделам, которые теперь не имеют лидера. Все эти уведомления отправляются через zookeeper.

По этим ссылкам можно найти гораздо больше деталей:

https://www.waitingforcode.com/apache-kafka/the-role-of-apache-zookeeper-in-apache-kafka/read

https://data-flair.training/blogs/zookeeper-in-kafka/

...