Apache ZooKeeper
zookeeper.apache.org
1
Leaving SiteNav
External Link Disclaimer
You are about to visit zookeeper.apache.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services in distributed applications. Originally developed at Yahoo! by Patrick Hunt, Flavio Junqueira, and others, and later donated to the Apache Software Foundation, ZooKeeper has been the backbone of distributed systems coordination since 2008, with over 12,300 stars as of 2026. ZooKeeper maintains a hierarchical namespace similar to a filesystem (znodes arranged as a tree with paths like /app1/config, /app1/leader, /app2/workers/worker-1), where each znode can store data (up to 1MB by default) and have child znodes. Key features include: hierarchical znodes with two types: persistent (survive client disconnect) and ephemeral (automatically deleted when the client session ends, useful for leader election and distributed locks), sequential znodes (automatically appended with a monotonically increasing counter, useful for queue implementations), watches (clients can set one-time triggers on znode changes: data changes, child changes, or existence changes, receiving async notifications), atomic operations (create, delete, setData, getData, getChildren, all with optional version checks for optimistic concurrency), ACL-based access control (digest, world, auth, IP-based authentication, SASL/Kerberos), guaranteed consistency (linearizable writes, FIFO client order), and high availability through ensemble replication (typically 3, 5, or 7 servers using a ZAB consensus protocol similar to Raft, tolerating f failures with 2f+1 servers). ZooKeeper is used by Apache Kafka (for metadata before KRaft), Hadoop HDFS (for NameNode failover), Apache HBase (for region server assignment), Apache Solr (for cluster management), and numerous microservice frameworks. Written in Java, licensed under Apache 2.0.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike