
What is Zookeeper?
Zookeeper is a framework that provides the secondary functions such as Lock, event, information sharing between nodes in a distributed environment, etc.
The names of Apache Hadoop Project are various names of animals such as an elephant (Hadoop), turtle (Chukwa), pig (Pig), and etc. As the meaning of animal keeper, Zookeeper is a system that manages Hadoop Distributed Processing System in batches as shown below.
Why do we need Zookeeper?
The distributed processing environment has many servers from a few to hundreds. So unexpected situations are occurred such as network failures, disruption of some services/functions, upgrade error, and etc.
For example, if you run multi-threaded program on the program existing only single thread, the synchronic problems will start to generate. Similarly, there is no problem in the single server, but several problems can be occurred in multi-server. Therefore, the system easily solving them is just Zookeeper.
The features of Zookeeper
Zookeeper doesn’t perform the service only on one server, but properly distributes the loads by supporting the simultaneous operations for each client through the name service as shown below. Additionally, the result processed on one server is able to synchronize with other servers through Lock.
1. Load balancing through name service
Support each client to work concurrently by distributing the load properly, not perform the service only on one server.
2. Solution for distributed lock or synchronization problem
Guarantee the stability since the result of one server synchronize with other servers.
3. Decision and recovery of the fault
If Active server (general server) can’t consistently perform the service due to some problem, Standby server (general server) will be changed to Active server and perform the service that Active server did.
4. Environment setting management
By Integrated management for each of the other servers, Zookeeper manages by itself, not distributes the environment setting separately.
[References] https://zookeeper.apache.org/ http://terms.naver.com/entry.nhn?docId=3386319&cid=58370&categoryId=58370 http://creatorw.tistory.com/entry/1-%EC%A3%BC%ED%82%A4%ED%8D%BCzookeeper-%EB%9E%80
Tags: Apache , big data , Framework , hadoop , Zookeeper
Common questions
Is ZooKeeper still relevant, or are projects replacing it?
It remains widely used, particularly by Apache HBase and Apache Solr for membership and leader election. Some projects, notably newer Apache Kafka releases with their Raft-based controller, have moved coordination in-house and no longer require a separate ZooKeeper ensemble, so check the specific project's documentation.
How many servers should a ZooKeeper ensemble have?
Production ensembles typically use three or five servers, since an odd count lets a clear majority form after a failure. Larger ensembles tolerate more failures but add replication overhead, so size is usually chosen based on how many simultaneous server failures the deployment needs to survive.
What is the difference between ZooKeeper and etcd?
Both provide a consensus-backed hierarchy of keys, leader election, and watch-style notifications, so they solve similar problems. The main practical differences are the consensus protocol used internally (ZAB versus Raft), the client API, and which ecosystems and projects already integrate with each one.
Can ZooKeeper store large files or documents?
No. Znodes are designed to hold small metadata values, not bulk data, and the whole dataset lives in memory across the ensemble. Large objects belong in a filesystem like HDFS, object storage, or a database, with ZooKeeper only storing a reference or pointer to them if needed.
Sources
About this page
Last reviewed October 30, 2026 by the Nine Bits editors. Read our editorial policy or report an error.