ZooKeeper
Материал из Xgu.ru
ZooKeeper — служба, предназначенная для хранения конфигурационной информации, имён, выполнения распределённой синхронизации процессов. Фактически выполняет важнейшие задачи многих распределённых приложений. Является важной составляющей Hadoop-инфраструктуры, но может использовать отдельно.
В основе ZooKeeper лежит протокол Zab, частично похожий на PAXOS, но имеющий несколько существенных отличий[1].
ZooKeeper написан на Java, является важной частью инфраструктуры Hadoop, поддерживается Apache Foundation.
Данные в ZooKeeper'е организованы в иерархическое пространство имён. Объём хранимых данных ограничен оперативной памятью. Центральным элементом использующимся для организации данных является так называемй z-узел, znode. Эти узлы организуются в иерархическое пространство, они являются носителями данных ZooKeeper. Максимальный размер z-узла 1MB. Z-узел может быть изменен только целиком. Частичное изменение данных в z-узле не поддерживается.
Аналоги/частично перекрывающиеся по функция проекты:
Кроме собственно Hadoop, ZooKeeper используется в сочетании с многими другими проектами, в том числе:
- Kafka;
- Samza;
- Storm.