BookKeeper is available as a DC/OS package from the .

In order to run BookKeeper on DC/OS, you will need:

  • DC/OS version 1.8 or higher
  • A DC/OS cluster with at least three nodes
  • The installed

Each node in your DC/OS-managed Mesos cluster must have at least:

  • 1 CPU
  • 1 GB of memory
  • 10 GB of total persistent disk storage

Installing BookKeeper

This command will:

  • Install the subcommand for the dcos CLI tool
  • Start a single bookie on the Mesos cluster with the

The bookie that is automatically started up uses the host mode of the network and by default exports the service at agent_ip:3181.

To watch BookKeeper start up, click on the Services tab in the DC/OS user interface and you should see the bookkeeper package listed:

To see which tasks have started, click on the bookkeeper service and you’ll see an interface that looks like this;

Once the first bookie has started up, you can click on the Scale tab to scale up your BookKeeper ensemble by adding more bookies (or scale down the ensemble by removing bookies).

DC/OS scale

ZooKeeper Exhibitor

ZooKeeper contains the information for all bookies in the ensemble. When deployed on DC/OS, BookKeeper uses a ZooKeeper instance provided by DC/OS. You can access a visual UI for ZooKeeper using Exhibitor, which is available at .

You should see a listing of IP/host information for all bookies under the messaging/bookkeeper/ledgers/available node.

  1. master.mesos:2181

This is the only ZooKeeper host/port you need to include in your connection string. Here’s an example using the Java client:

If you’re connecting using a client running outside your Mesos cluster, you need to supply the public-facing connection string for your DC/OS ZooKeeper cluster.

Configuring BookKeeper

By default, the bookkeeper package will start up a BookKeeper ensemble consisting of one bookie with one CPU, 1 GB of memory, and a 70 MB persistent volume.

You can supply a non-default configuration when installing the package using a JSON file. Here’s an example command:

  1. --options=/path/to/config.json

You can then fetch the current configuration for BookKeeper at any time using the command:

Not all configurable parameters for BookKeeper are available for BookKeeper on DC/OS. Only the parameters show in the table below are available.

Here’s an example JSON configuration object for BookKeeper on DC/OS:

  1. {
  2. "instances": 5,
  3. "cpus": 3,
  4. "mem": 2048.0,
  5. "volume_size": 250
  6. }

You can shut down and uninstall the bookkeeper from DC/OS at any time using the package uninstall command:

  1. $ dcos package uninstall bookkeeper