Apache BookKeeper - a scalable, fault tolerant and low latency storage service optimized for append-only workloads

Clone this repo:
  1. f8d81f7 Upgrade Netty to 4.1.93.Final (#3975) by Lari Hotari · 5 days ago master
  2. 808b909 clear channel when channelInactive (#3966) by wenbingshen · 5 days ago
  3. e93a7f1 check indexBaseDir specified with ledgerBaseDir (#3967) by wenbingshen · 5 days ago
  4. 575a81c Added support for OpenTelemetry metrics backend (#3968) by Matteo Merli · 11 days ago
  5. c924cfe Avoid compaction to trigger extra flushes DbLedgerStorage (#3959) by Matteo Merli · 13 days ago

Maven Central

Apache BookKeeper

Apache BookKeeper is a scalable, fault tolerant and low latency storage service optimized for append-only workloads.

It is suitable for being used in following scenarios:

  • WAL (Write-Ahead-Logging), e.g. HDFS NameNode, Pravega.
  • Message Store, e.g. Apache Pulsar.
  • Offset/Cursor Store, e.g. Apache Pulsar.
  • Object/Blob Store, e.g. storing state machine snapshots.

Get Started

  • Checkout the project website.
  • Concepts: Start with the basic concepts of Apache BookKeeper. This will help you to fully understand the other parts of the documentation.
  • Follow the Install guide to setup BookKeeper.


Please visit the Documentation from the project website for more information.

Get In Touch

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, help us out by opening a Github issue.

Need Help?

Subscribe or mail the user@bookkeeper.apache.org list - Ask questions, find answers, and also help other users.

Subscribe or mail the dev@bookkeeper.apache.org list - Join development discussions, propose new ideas and connect with contributors.

Join us on Slack - This is the most immediate way to connect with Apache BookKeeper committers and contributors.


We feel that a welcoming open community is important and welcome contributions.

Contributing Code

  1. See our installation guide to get your local environment setup.

  2. Take a look at our open issues: Github Issues.

  3. Review our coding style and follow our pull requests to learn more about our conventions.

  4. Make your changes according to our contributing guide