Apache ZooKeeper is an Apache-2.0 licensed Java coordination service, published from the apache/zookeeper repository, used by distributed systems to hold shared configuration, naming and synchronisation state.
What it is
Apache ZooKeeper is a Java project from the Apache Software Foundation, distributed under the Apache License 2.0. It lives in the Infrastructure & Operations / Databases category of this registry, ships as the Maven artifact org.apache.zookeeper:zookeeper alongside the zookeeper-server and zookeeper-jute modules, and carries 12,806 stars and 7,319 forks on GitHub. Its declared topics — consensus, coordination, distributed-configuration, configuration-management, service-discovery, key-value, distributed-database and distributed-systems — describe the ground it occupies. The project is documented through its website at https://zookeeper.apache.org, its wiki, and a docs folder inside the repository.
The concrete thing it replaces is ad-hoc, per-application coordination code: hand-rolled leader election, bespoke config polling, home-grown service registries. Instead of each service embedding its own mutable state and discovery logic, ZooKeeper provides one key-value coordination layer that multiple distributed processes can share. Operators download a release from https://zookeeper.apache.org/releases.html rather than writing that plumbing themselves.
Key capabilities
- Distributed coordination and consensus primitives exposed as a shared service, per the project's own topic list.
- A key-value and distributed-database style data surface for holding shared state.
- Distributed configuration and configuration-management, so applications read coordinated settings instead of local files.
- Service discovery, letting clients locate peers through the same coordination layer.
- Release artifacts published in two forms:
apache-zookeeper-[version].tar.gz with all source, and apache-zookeeper-[version]-bin.tar.gz with all jar files required to run ZooKeeper.
- Maven deployment of the parent,
zookeeper and zookeeper-jute artifacts to the central repository at https://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper, done after each release is voted on and approved by the Apache ZooKeeper PMC.
- Aggregated API documentation generated with
mvn javadoc:aggregate, written to target/site/apidocs.
- Continuous integration through GitHub Actions workflows, with a legacy Travis CI badge retained in the README.
Who uses it and how
- Teams running distributed systems that need shared coordination state rather than per-node local state.
- Platform and infrastructure groups that centralise configuration management so many services read one coordinated source.
- Environments where service discovery is handled inside the application stack instead of through a separate registry product.
- Java shops that consume ZooKeeper as a Maven dependency, pulling
org.apache.zookeeper:zookeeper from the central repository rather than vendoring jars.
- Operators who need a server runtime and prefer the packaged
-bin.tar.gz artifact over building from source.
Getting started
Download a release from https://zookeeper.apache.org/releases.html and use the apache-zookeeper-[version]-bin.tar.gz artifact, which contains all jar files required to run ZooKeeper. To build from source, extract the source tarball and run mvn clean install.
How it compares
No comparable or competing product is named in the supplied facts, so this entry stands alone in this registry rather than being contrasted with alternatives. Readers looking for a head-to-head comparison will not find one here.
When to use it — and when not to
A self-hoster takes on the whole Java service: obtaining a release, or building it with Maven from source, and keeping a coordinated deployment of that service alive. Teams that want a managed, zero-operations coordination layer, or that only need a plain cache or message queue, should not pick ZooKeeper for that job. The README is thin on operational detail — it covers packaging, artifact names and contribution workflow but says little about running a cluster — and the repository carries 242 open issues, so expect to lean on the website, the wiki and the docs folder for real deployment guidance.
project readme (upstream, from github) — read inline
Apache ZooKeeper


For the latest information about Apache ZooKeeper, please visit our website at:
https://zookeeper.apache.org
and our wiki, at:
https://cwiki.apache.org/confluence/display/ZOOKEEPER
Packaging/release artifacts
Either downloaded from https://zookeeper.apache.org/releases.html or
found in zookeeper-assembly/target directory after building the project with maven.
apache-zookeeper-[version].tar.gz
Contains all the source files which can be built by running:
mvn clean install
To generate an aggregated apidocs for zookeeper-server and zookeeper-jute:
mvn javadoc:aggregate
(generated files will be at target/site/apidocs)
apache-zookeeper-[version]-bin.tar.gz
Contains all the jar files required to run ZooKeeper
Full documentation can also be found in the docs folder
As of version 3.5.5, the parent, zookeeper and zookeeper-jute artifacts
are deployed to the central repository after the release
is voted on and approved by the Apache ZooKeeper PMC:
https://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper
Contributing
We always welcome new contributors to the project! See How to Contribute for details on how to submit patches as pull requests and other aspects of our contribution workflow.