Рысцов Денис написал на хабре статью, доступно объясняющую что такое hadoop zookeeper и как его можно самим использовать в собственной разработке.Описание Zookeeper'а от других автором всегда оставаляло у меня расплывчатое представление что же это такое. В его статье я наконец нашел нормальное определение этой штуки.
ZooKeeper, это распределенное key/value хранилище со следующими свойствами:
- пространство ключей образует дерево (иерархию подобную файловой системе)
- значения могут содержаться в любом узле иерархии, а не только в листьях (как если бы файлы одновременно были бы и каталогами), узел иерархии называется znode
- между клиентом и сервером двунаправленная связь, следовательно, клиент может подписываться как изменение конкретного значения или части иерархии
- возможно создать временную пару ключ/значение, которая существует, пока клиент её создавший подключен к кластеру
- все данные должны помещаться в память
- устойчивость к смерти некритического кол-ва узлов кластера
Поддерживаемые операции
| exists | проверяет существование znode и возвращает его метаданные | |
| create | создает znode | |
| delete | удаляет znode | |
| getData | получает данные ассоциированные с znode | |
| setData | ассоциирует новые данные с znode | |
| getChildren | получает детей указанного znode | |
| sync | дожидается синхронизации узла кластера, к которому мы подсоединены, и мастера. |
Читать далее на хабре

