Distributed, reliable key-value store for the most critical data of a distributed system, built on Raft consensus with a gRPC API.
apache/zookeeper
Apache ZooKeeper is a distributed coordination service providing a hierarchical key-value store for configuration, naming and synchronization in distributed systems.
- Stars
- 12,831
- Forks
- 7,325
- Open issues
- 243
- Last commit
- 21 hours ago
What is it?
Apache ZooKeeper is a Java-based coordination service for distributed applications. It offers a shared hierarchical namespace of small data nodes that clients can read, write and watch, which lets applications build primitives such as configuration management, service discovery and leader election on top of it.
The project is distributed as source code that builds with Maven, along with binary tarballs containing the jars needed to run a server. Its artifacts (the parent, zookeeper and zookeeper-jute modules) are published to Maven Central from version 3.5.5 onward, so Java projects can depend on the client library directly.
ZooKeeper is an Apache Software Foundation top-level project, and the repository includes its CI setup and a contribution workflow documented on the project wiki.
Key features
- 01Hierarchical namespace of data nodes that clients can read, write and watch.
- 02Built on the ZAB consensus protocol for coordinated, replicated state.
- 03Client libraries available through Maven Central, starting from version 3.5.5.
- 04Binary and source release packages built with Maven.
Use cases
- Storing shared configuration that multiple services in a cluster need to read and watch for changes.
- Implementing service discovery or leader election in distributed Java applications.
- Coordinating distributed locks and synchronization between processes.
Quick start
- 1
Download a release from the ZooKeeper releases page
- 2
Build the project from source with Maven
mvn clean install
Things to know
- Requires Java and Maven to build from source.
In collections
Topics
FAQ
- What is zookeeper?
- Apache ZooKeeper is a distributed coordination service providing a hierarchical key-value store for configuration, naming and synchronization in distributed systems. Apache ZooKeeper is a Java-based coordination service for distributed applications. It offers a shared hierarchical namespace of small data nodes that clients can read, write and watch, which lets applications build primitives such as configuration management, service discovery and leader election on top of it.
- Is zookeeper free to use? What license does it have?
- zookeeper is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is zookeeper still maintained?
- Actively maintained. The last commit to zookeeper was on Nov 6, 2026.
- What can I use zookeeper for?
- Storing shared configuration that multiple services in a cluster need to read and watch for changes. Implementing service discovery or leader election in distributed Java applications. Coordinating distributed locks and synchronization between processes.
- How do I install zookeeper?
- Download a release from the ZooKeeper releases page Build the project from source with Maven: mvn clean install
- Where can I get zookeeper?
- The source code and installation instructions are on GitHub: https://github.com/apache/zookeeper
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source platform for dynamic service discovery, dynamic configuration management, and service metadata management in cloud native and microservice systems.
A lightweight, fault-tolerant distributed relational database built on SQLite, replicated across nodes via Raft consensus.
A centralized configuration management system for microservices, with real-time pushes, versioned releases, grayscale rollouts, and audit logs.
Java implementation of Apache Dubbo, an RPC and microservice framework for building service communication, discovery and traffic management.
A Go library implementing the Raft consensus protocol for managing replicated logs and replicated state machines.