You can install BookKeeper either by downloading a GZipped tarball package or cloning the BookKeeper repository.
Requirements
- Unix environment
- Java Development Kit 1.8 or later
- Maven 3.0 or later
Download
You can download Apache BookKeeper releases from one of many Apache mirrors. Here’s an example for the apache.claz.org mirror:
$ curl -O http://apache.claz.org/bookkeeper/bookkeeper-4.13.0/bookkeeper-4.13.0-src.tar.gz
$ tar xvf bookkeeper-4.13.0-src.tar.gz
$ cd bookkeeper-4.13.0
Clone
To build BookKeeper from source, clone the repository, either from the GitHub mirror or from the Apache repository:
# From the GitHub mirror
$ git clone https://github.com/apache/bookkeeper
# From Apache directly
$ git clone git://git.apache.org/bookkeeper.git/
Build using Maven
Once you have the BookKeeper on your local machine, either by downloading or cloning it, you can then build BookKeeper from source using Maven:
$ mvn package
Since 4.8.0, bookkeeper introduces table service
. If you would like to build and tryout table service, you can build it with stream
profile.
$ mvn package -Dstream
You can skip tests by adding the
-DskipTests
flag when runningmvn package
.
Useful Maven commands
Some other useful Maven commands beyond mvn package
:
Command | Action |
---|---|
mvn clean | Removes build artifacts |
mvn compile | Compiles JAR files from Java sources |
mvn compile spotbugs:spotbugs | Compile using the Maven SpotBugs plugin |
mvn install | Install the BookKeeper JAR locally in your local Maven cache (usually in the ~/.m2 directory) |
mvn deploy | Deploy the BookKeeper JAR to the Maven repo (if you have the proper credentials) |
mvn verify | Performs a wide variety of verification and validation tasks |
mvn apache-rat:check | Run Maven using the Apache Rat plugin |
mvn compile javadoc:aggregate | Build Javadocs locally |
mvn -am -pl bookkeeper-dist/server package | Build a server distribution using the Maven Assembly plugin |
You can enable
table service
by adding the-Dstream
flag when running above commands.
Package directory
The BookKeeper project contains several subfolders that you should be aware of:
Subfolder | Contains |
---|---|
bookkeeper-server | The BookKeeper server and client |
bookkeeper-benchmark | A benchmarking suite for measuring BookKeeper performance |
bookkeeper-stats | A BookKeeper stats library |
bookkeeper-stats-providers | BookKeeper stats providers |