Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

apache/zookeeper

Data

A distributed coordination service for configuration management, naming, and leader election across a cluster.

12,834
7,331
Java
Apache-2.0
17 years old

Overview

Apache ZooKeeper is a Java-based coordination service for distributed systems. It exposes a replicated, hierarchical key-value store that applications use to hold configuration, naming and service-discovery data, and to coordinate cluster decisions such as leader election and locking. It targets backend and infrastructure engineers who are building services that must agree on shared state.

Coordination work is delegated to a ZooKeeper ensemble rather than reimplemented in each service. The ensemble maintains consistency through the ZAB consensus protocol, so a client reads the same ordered state regardless of which member it connects to.

Quick Start

Build the source distribution with Maven from the project root:

mvn clean install

The runnable package is the apache-zookeeper-[version]-bin.tar.gz archive, which holds the jars needed to start a server and a docs folder with the full documentation README packaging notes. You can also download the same archive from the releases page. Extracted, start a standalone server with the bundled scripts, passing a configuration file:

bin/zkServer.sh start conf/zoo.cfg

Then open a shell against the running server and list the root of the hierarchy:

bin/zkCli.sh -server 127.0.0.1:2181
ls /

Artifacts and Dependencies

Maven artifacts for the parent, zookeeper and zookeeper-jute modules are published to the central repository after the release is approved by the Apache ZooKeeper PMC Maven Central. The README does not document server configuration keys or client API usage; consult the bundled docs folder or the project wiki for those details.

Constraints

The project is Apache-2.0 licensed LICENSE. It runs on the JVM, and the Java version required by a given release must be checked against that release's documentation. Production operation calls for a multi-node ensemble rather than a standalone server, and the README gives no deployment topology, sizing or tuning guidance; the wiki and release docs are the authoritative sources. Builds use Maven, with generated Javadoc aggregated via mvn javadoc:aggregate when needed.

HotRepo's take

Apache ZooKeeper is a long-established project (created in 2009) with roughly 12,800 stars and 7,300 forks, and Apache's release process and documentation portal surround it. On HotRepo it has a single recorded Java-language daily snapshot on 2026-11-13, where it ranked 9th on the Java list with one star added that day. That one datapoint shows an occasional appearance in a language-specific ranking, but it does not support any claim about overall or sustained growth.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

You might also like

  1. etcd-io/etcdA distributed, Raft-replicated key-value store for critical configuration data and service coordination in distributed systems.Go52,481
  2. cockroachdb/cockroachA distributed SQL database for teams that need horizontal scale, geo-replication, and ACID transactions instead of sharding a single Postgres.Go32,584
  3. trinodb/trinoA distributed SQL engine that lets analysts query data across many separate stores with one query instead of moving it all first.Java13,374