This page is deprecated - please see our new home at

General Information

ZooKeeper: Because coordinating distributed systems is a Zoo

ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them ,which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.

ZooKeeper aims at distilling the essence of these different services into a very simple interface to a centralized coordination service. The service itself is distributed and highly reliable. Consensus, group management, and presence protocols will be implemented by the service so that the applications do not need to implement them on their own. Application specific uses of these will consist of a mixture of specific components of Zoo Keeper and application specific conventions. ZooKeeper Recipes shows how this simple service can be used to build much more powerful abstractions.

We have Java and C interfaces to Zoo Keeper for the applications themselves, and someday we hope to get Python, Perl, and REST interfaces for building applications and management interfaces.

  • [ Overview|ZooKeeper ProjectDescription] of ZooKeeper
  • [ Tutorial:|ZooKeeper Tutorial] A crash course on how to implement primitives with ZooKeeper
  • [ FAQ|ZooKeeper FAQ]
  • [ Client bindings|ZooKeeper ZKClientBindings]
  • [ Useful Tools|ZooKeeper UsefulTools]
  • [ Presentations|ZooKeeper ZooKeeperPresentations] and [ articles|ZooKeeper ZooKeeperArticles] about ZooKeeper
  • [ PoweredBy|ZooKeeper PoweredBy], a list of sites and applications powered by ZooKeeper
  • [ ErrorHandling|ZooKeeper ErrorHandling], how applications and libraries should deal with errors from ZooKeeper
  • [ Troubleshooting|ZooKeeper Troubleshooting], specific help on troubleshooting ZooKeeper operating environments
  • [ Performance|ZooKeeper Performance], a benchmark of the performance of the ZooKeeper 3.2 release
  • [ Zab|ZooKeeper Zab], random notes about the ZooKeeper Atomic Broadcast protocol
  • [ Failure Scenarios|ZooKeeper FailureScenarios], How failure scenarios are handled in ZooKeeper ensembles

Developer Documentation

  • [ Roadmap|ZooKeeper Roadmap]
  • [ HowToContribute|ZooKeeper HowToContribute]
  • [ HowToRelease|ZooKeeper HowToRelease]
  • [ ProjectSuggestions|ZooKeeper ProjectSuggestions]

Related Projects

  • BookKeeper
  • HedWig
  • [ HBase's integration of ZooKeeper|ZooKeeper HBaseAndZooKeeper]
  • [ GSoC2010: Failure Detector Model|ZooKeeper GSoCFailureDetector]
  • [ GSoC2010: Monitoring Recipes and Web-based Administrative Interface|ZooKeeper GSoCMonitoringAndWebInterface]
  • [ ZooKeeper Cluster Membership|ZooKeeper ClusterMembership]
  • No labels