The easiest way to deploy BookKeeper is using schedulers like DC/OS, but you can also deploy BookKeeper clusters manually. A BookKeeper cluster consists of two main components:
We won't provide a full guide to setting up a ZooKeeper cluster here. We recommend that you consult this guide in the official ZooKeeper documentation.
Once your ZooKeeper cluster is up and running, you can start up as many {% pop bookies %} as you‘d like to form a cluster. Before starting up each bookie, you need to modify the bookie’s configuration to make sure that it points to the right ZooKeeper cluster.
On each bookie host, you need to download the BookKeeper package as a tarball. Once you‘ve done that, you need to configure the bookie by setting values in the bookkeeper-server/conf/bk_server.conf
config file. The one parameter that you will absolutely need to change is the zkServers
parameter, which you will need to set to the ZooKeeper connection string for your ZooKeeper cluster. Here’s an example:
zkServers=100.0.0.1:2181,100.0.0.2:2181,100.0.0.3:2181
A full listing of configurable parameters available in
bookkeeper-server/conf/bk_server.conf
can be found in the Configuration reference manual.
Once the bookie's configuration is set, you can start it up using the bookie
command of the bookkeeper
CLI tool:
$ bin/bookkeeper bookie
You can also build BookKeeper by cloning it from source or using Maven.
{% include system-requirements.md %}
Once you've started up a cluster of bookies, you need to set up cluster metadata for the cluster by running the following command from any bookie in the cluster:
$ bin/bookkeeper shell metaformat
You can run in the formatting
The
metaformat
command performs all the necessary ZooKeeper cluster metadata tasks and thus only needs to be run once and from any bookie in the BookKeeper cluster.
Once cluster metadata formatting has been completed, your BookKeeper cluster is ready to go!