<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>BookKeeper &mdash; DistributedLog 1.0 documentation</title>
    
    <link rel="stylesheet" href="../_static/override.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../_static/bootstrap-3.1.0/css/bootstrap.min.css" type="text/css" />
    <link rel="stylesheet" href="../_static/bootstrap-3.1.0/css/bootstrap-theme.min.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/featherlight.min.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/docbird.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/docbird-xs.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/jquery.rateyo.min.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/selection-sharer.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '1.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/bootstrap-3.1.0/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="../_static/js/bootstrap-docbird.js"></script>
    <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
    <script type="text/javascript" src="../_static/js/featherlight.min.js"></script>
    <script type="text/javascript" src="../_static/js/ifvisible.js"></script>
    <script type="text/javascript" src="../_static/js/timeme.js"></script>
    <script type="text/javascript" src="../_static/js/jquery.rateyo.min.js"></script>
    <script type="text/javascript" src="../_static/js/js.cookie.js"></script>
    <link rel="shortcut icon" href="../_static/docbird.ico"/>
    <link rel="top" title="DistributedLog 1.0 documentation" href="../index.html" />
    <link rel="up" title="Deployment &amp; Administration" href="main.html" />
    <link rel="next" title="Performance" href="../performance/main.html" />
    <link rel="prev" title="ZooKeeper" href="zookeeper.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">

<meta property="docbird:project" content="DistributedLog" />

  </head>
  <body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container-fluid">
    <div class="row db-header">
      <div class="col-sm-3 col-md-3 col-lg-3 hidden-xs db-header-controls">
        <a href="/" alt="Back to Docbird">
  <div class="db-home-button">
    <span class="glyphicon glyphicon-home"></span>
  </div>
</a>
        
<form action="../search.html" method="get" class="db-searchbox-form">
 <div class="form-group">
  <input type="text" name="q" class="form-control db-searchbox-input" placeholder="Search DistributedLog" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>

      </div>
      <div class="col-sm-7 col-md-7 col-lg-7 col-xs-12 db-header-info">
        <div class="visible-xs">
          <a href="/" alt="Back to Docbird">
  <div class="db-home-button">
    <span class="glyphicon glyphicon-home"></span>
  </div>
</a>
        </div>
        <div class="visible-xs db-xs-menu-button">
          <div class="navbar-header">
  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#db-xs-menu">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>
</div>
        </div>
        <div class="db-header-projectname">
          <h1><a href="../index.html">DistributedLog</a></h1>
        </div>
      </div>
    </div>
    <div class="row db-xs-menu hidden-sm hidden-md hidden-lg
    collapse" id="db-xs-menu">
      
<form action="../search.html" method="get" class="db-searchbox-form">
 <div class="form-group">
  <input type="text" name="q" class="form-control db-searchbox-input" placeholder="Search DistributedLog" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>

      <div class="db-toc" role="complementary">
        <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../download.html">Releases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../download.html#rc1">0.3.51-RC1</a></li>
<li class="toctree-l2"><a class="reference internal" href="../download.html#rc0">0.3.51-RC0</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../basics/main.html">Getting Started</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../basics/introduction.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../basics/quickstart.html">Quick Start</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../api/main.html">API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../api/core.html">Core Library API</a></li>
<li class="toctree-l2"><a class="reference internal" href="../api/proxy.html">Write Proxy Client API</a></li>
<li class="toctree-l2"><a class="reference internal" href="../api/practice.html">Best Practices</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/main.html">Configuration</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../configuration/core.html">Core Library Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../configuration/proxy.html">Write Proxy Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../configuration/client.html">Client Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../configuration/perlog.html">Per Stream Configuration</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../considerations/main.html">Considerations</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#consistency-durability-and-ordering">Consistency, Durability and Ordering</a></li>
<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#partitioning">Partitioning</a></li>
<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#processing-semantics">Processing Semantics</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/main.html">Architecture</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#data-model">Data Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#software-stack">Software Stack</a></li>
<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#lifecyle-of-records">Lifecyle of records</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../design/main.html">Detail Design</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../design/main.html#consistency">Consistency</a></li>
<li class="toctree-l2"><a class="reference internal" href="../design/main.html#streaming-reads">Streaming Reads</a></li>
<li class="toctree-l2"><a class="reference internal" href="../design/main.html#logsegment-lifecycle">LogSegment Lifecycle</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../globalreplicatedlog/main.html">Global Replicated Log</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#region-aware-data-placement-policy">Region Aware Data Placement Policy</a></li>
<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#cross-region-speculative-reads">Cross Region Speculative Reads</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../implementation/main.html">Implementation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../implementation/storage.html">Storage</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="main.html">Deployment &amp; Administration</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="deployment.html">Cluster Setup &amp; Deployment</a></li>
<li class="toctree-l2"><a class="reference internal" href="operations.html">DistributedLog Operations</a></li>
<li class="toctree-l2"><a class="reference internal" href="performance.html">Performance Tuning</a></li>
<li class="toctree-l2"><a class="reference internal" href="hardware.html">Hardware</a></li>
<li class="toctree-l2"><a class="reference internal" href="monitoring.html">Monitoring</a></li>
<li class="toctree-l2"><a class="reference internal" href="zookeeper.html">ZooKeeper</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="">BookKeeper</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../performance/main.html">Performance</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references/main.html">References</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../references/configuration.html">Configuration Settings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../references/metrics.html">Metrics</a></li>
<li class="toctree-l2"><a class="reference internal" href="../references/features.html">Features</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/main.html">Tutorials</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#basic">Basic</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#messaging">Messaging</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#replicated-state-machines">Replicated State Machines</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#analytics">Analytics</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../developer/main.html">Developer</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../developer/release.html">Release</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
</ul>

      </div>
    </div>
  </div>
</div>
<div class="container">
  <div class="row">
    <div style="z-index: 1" class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
      <style>
  .overflow-container {
    display: none;
  }
  .overflow-toggle {
    text-decoration: none;
    border-bottom: none;
    border-radius: 4px;
    border: 1px solid #eee;
    padding: 1px 3px 3px;
    color: #888;
    font-weight: normal;
    background-color: linen;
    line-height: 1.85em;
    cursor: pointer;
  }
  .overflow-toggle:hover {
    color: #333;
    border-color: #ccc;
    background-color: beige;
  }
</style>
<script>
$(function(){
  $('.overflow-toggle').on('click', function(){
    $(this).next().toggle();
  });
});
</script>
<div class="db-project-header-container">
  <div class="row">
    
    <div class="db-project-info col-lg-12 col-md-12 col-sm-12 col-xs-12">
      <h1>
        <a href="../index.html">DistributedLog</a>
        
      </h1>
        
      <div class="db-code-link">
        <a href="git@github.com:twitter/distributedlog.git/tree/master/" target="_blank">git@github.com:twitter/distributedlog.git/tree/master/</a>
      </div>
      
      
    </div>
  </div>
  
  <div class="row db-project-links-row">
    <div class=" col-sm-3 col-md-3 col-lg-3 db-project-link-column">
      <div class="db-hashtag-container">
        
        <span class="db-project-link-label">OWNERS</span>
          
            <em>None</em>
          
          
      </div>
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column">
      <div class="db-hashtag-container">
        
        <span class="db-project-link-label">TAGS</span>
        
          <em><a class="db-hashtag" href="/?q=tags:%23uses_maven">#uses_maven</a></em>
        
        
      </div>
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column">
      <span class="db-project-link-label">HEALTH</span>
        
        <h3 style="margin-top: 0">
<!--        <a href="/techdocs/checklist.html" class="label label-success">-->
        <a href="/report/distributedlog" class="">
          9.0 / 10
          <span style="margin-left: .25em" class="glyphicon glyphicon-ok"></span>
        </a>
        
      </h3>
    </div>
    <div class="col-sm-3 col-md-3 col-lg-3 db-project-link-column">
      <span class="db-project-link-label">RATING</span>
      <div id="rateYo"></div>
    </div>
  </div>
  
</div>
    </div>
    <div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
      <div class="db-content-body">
        
  <div class="section" id="bookkeeper">
<h1>BookKeeper<a class="headerlink" href="#bookkeeper" title="Permalink to this headline">¶</a></h1>
<p>For reliable BookKeeper service, you should deploy BookKeeper in a cluster.</p>
<div class="section" id="run-from-bookkeeper-source">
<h2>Run from bookkeeper source<a class="headerlink" href="#run-from-bookkeeper-source" title="Permalink to this headline">¶</a></h2>
<p>The version of BookKeeper that DistributedLog depends on is not the official opensource version.
It is twitter's production version <cite>4.3.4-TWTTR</cite>, which is available in <cite>https://github.com/twitter/bookkeeper</cite>.
We are working actively with BookKeeper community to merge all twitter's changes back to the community.</p>
<p>The major changes in Twitter's bookkeeper includes:</p>
<ul class="simple">
<li><a class="reference external" href="https://issues.apache.org/jira/browse/BOOKKEEPER-670">BOOKKEEPER-670</a>: Long poll reads and LastAddConfirmed piggyback. It is to reduce the tailing read latency.</li>
<li><a class="reference external" href="https://issues.apache.org/jira/browse/BOOKKEEPER-759">BOOKKEEPER-759</a>: Delay ensemble change if it doesn't break ack quorum constraint. It is to reduce the write latency on bookie failures.</li>
<li><a class="reference external" href="https://issues.apache.org/jira/browse/BOOKKEEPER-757">BOOKKEEPER-757</a>: Ledger recovery improvements, to reduce the latency on ledger recovery.</li>
<li>Misc improvements on bookie recovery and bookie storage.</li>
</ul>
<p>To build bookkeeper, run:</p>
<ol class="arabic simple">
<li>First checkout the bookkeeper source code from twitter's branch.</li>
</ol>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ git clone https://github.com/twitter/bookkeeper.git bookkeeper
</pre></div>
<div style='display:none;' class='raw-code'><pre>$ git clone https://github.com/twitter/bookkeeper.git bookkeeper</pre>
</div></div>
<ol class="arabic simple" start="2">
<li>Build the bookkeeper package:</li>
</ol>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ <span class="nb">cd</span> bookkeeper
$ mvn clean package assembly:single -DskipTests
</pre></div>
<div style='display:none;' class='raw-code'><pre>$ cd bookkeeper
$ mvn clean package assembly:single -DskipTests</pre>
</div></div>
<p>However, since <cite>bookkeeper-server</cite> is one of the dependency of <cite>distributedlog-service</cite>.
You could simply run bookkeeper using same set of scripts provided in <cite>distributedlog-service</cite>.
In the following sections, we will describe how to run bookkeeper using the scripts provided in
<cite>distributedlog-service</cite>.</p>
</div>
<div class="section" id="run-from-distributedlog-source">
<h2>Run from distributedlog source<a class="headerlink" href="#run-from-distributedlog-source" title="Permalink to this headline">¶</a></h2>
<div class="section" id="build">
<h3>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h3>
<p>First of all, build DistributedLog:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ mvn clean install -DskipTests
</pre></div>
<div style='display:none;' class='raw-code'><pre>$ mvn clean install -DskipTests</pre>
</div></div>
</div>
<div class="section" id="configuration">
<h3>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h3>
<p>The configuration file <cite>bookie.conf</cite> under <cite>distributedlog-service/conf</cite> is a template of production
configuration to run a bookie node. Most of the configuration settings are good for production usage.
You might need to configure following settings according to your environment and hardware platform.</p>
<div class="section" id="port">
<h4>Port<a class="headerlink" href="#port" title="Permalink to this headline">¶</a></h4>
<p>By default, the service port is <cite>3181</cite>, where the bookie server listens on. You can change the port
to whatever port you like by modifying the following setting.</p>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="n">bookiePort</span><span class="o">=</span><span class="mi">3181</span>
</pre></div>
<div style='display:none;' class='raw-code'><pre>bookiePort=3181</pre>
</div></div>
</div>
<div class="section" id="disks">
<h4>Disks<a class="headerlink" href="#disks" title="Permalink to this headline">¶</a></h4>
<p>You need to configure following settings according to the disk layout of your hardware. It is recommended
to put <cite>journalDirectory</cite> under a separated disk from others for performance. It is okay to set
<cite>indexDirectories</cite> to be same as <cite>ledgerDirectories</cite>. However, it is recommended to put <cite>indexDirectories</cite>
to a SSD driver for better performance.</p>
<div class="highlight-python"><pre># Directory Bookkeeper outputs its write ahead log
journalDirectory=/tmp/data/bk/journal

# Directory Bookkeeper outputs ledger snapshots
ledgerDirectories=/tmp/data/bk/ledgers

# Directory in which index files will be stored.
indexDirectories=/tmp/data/bk/ledgers</pre>
<div style='display:none;' class='raw-code'><pre># Directory Bookkeeper outputs its write ahead log
journalDirectory=/tmp/data/bk/journal

# Directory Bookkeeper outputs ledger snapshots
ledgerDirectories=/tmp/data/bk/ledgers

# Directory in which index files will be stored.
indexDirectories=/tmp/data/bk/ledgers</pre>
</div></div>
<p>To better understand how bookie nodes work, please check <a class="reference external" href="http://bookkeeper.apache.org/">bookkeeper</a> website for more details.</p>
</div>
<div class="section" id="zookeeper">
<h4>ZooKeeper<a class="headerlink" href="#zookeeper" title="Permalink to this headline">¶</a></h4>
<p>You need to configure following settings to point the bookie to the zookeeper server that it is using.
You need to make sure <cite>zkLedgersRootPath</cite> exists before starting the bookies.</p>
<div class="highlight-python"><pre># Root zookeeper path to store ledger metadata
# This parameter is used by zookeeper-based ledger manager as a root znode to
# store all ledgers.
zkLedgersRootPath=/messaging/bookkeeper/ledgers
# A list of one of more servers on which zookeeper is running.
zkServers=localhost:2181</pre>
<div style='display:none;' class='raw-code'><pre># Root zookeeper path to store ledger metadata
# This parameter is used by zookeeper-based ledger manager as a root znode to
# store all ledgers.
zkLedgersRootPath=/messaging/bookkeeper/ledgers
# A list of one of more servers on which zookeeper is running.
zkServers=localhost:2181</pre>
</div></div>
</div>
<div class="section" id="stats-provider">
<h4>Stats Provider<a class="headerlink" href="#stats-provider" title="Permalink to this headline">¶</a></h4>
<p>Bookies use <cite>StatsProvider</cite> to expose its metrics. The <cite>StatsProvider</cite> is a pluggable library to
adopt to various stats collecting systems. Please check <a class="reference internal" href="monitoring.html"><em>Monitoring</em></a> for more details.</p>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># stats provide - use `codahale` metrics library</span>
<span class="n">statsProviderClass</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">bookkeeper</span><span class="o">.</span><span class="n">stats</span><span class="o">.</span><span class="n">CodahaleMetricsServletProvider</span>

<span class="c1">### Following settings are stats provider related settings</span>

<span class="c1"># Exporting codahale stats in http port `9001`</span>
<span class="n">codahaleStatsHttpPort</span><span class="o">=</span><span class="mi">9001</span>
</pre></div>
<div style='display:none;' class='raw-code'><pre># stats provide - use `codahale` metrics library
statsProviderClass=org.apache.bookkeeper.stats.CodahaleMetricsServletProvider

### Following settings are stats provider related settings

# Exporting codahale stats in http port `9001`
codahaleStatsHttpPort=9001</pre>
</div></div>
</div>
<div class="section" id="index-settings">
<h4>Index Settings<a class="headerlink" href="#index-settings" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li><cite>pageSize</cite>: size of a index page in ledger cache, in bytes. If there are large number
of ledgers and each ledger has fewer entries, smaller index page would improve memory usage.</li>
<li><cite>pageLimit</cite>: The maximum number of index pages in ledger cache. If nummber of index pages
reaches the limitation, bookie server starts to swap some ledgers from memory to disk.
Increase this value when swap becomes more frequent. But make sure <cite>pageLimit*pageSize</cite>
should not be more than JVM max memory limitation.</li>
</ul>
</div>
<div class="section" id="journal-settings">
<h4>Journal Settings<a class="headerlink" href="#journal-settings" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li><cite>journalMaxGroupWaitMSec</cite>: The maximum wait time for group commit. It is valid only when
<cite>journalFlushWhenQueueEmpty</cite> is false.</li>
<li><cite>journalFlushWhenQueueEmpty</cite>: Flag indicates whether to flush/sync journal. If it is <cite>true</cite>,
bookie server will sync journal when there is no other writes in the journal queue.</li>
<li><cite>journalBufferedWritesThreshold</cite>: The maximum buffered writes for group commit, in bytes.
It is valid only when <cite>journalFlushWhenQueueEmpty</cite> is false.</li>
<li><cite>journalBufferedEntriesThreshold</cite>: The maximum buffered writes for group commit, in entries.
It is valid only when <cite>journalFlushWhenQueueEmpty</cite> is false.</li>
</ul>
<p>Setting <cite>journalFlushWhenQueueEmpty</cite> to <cite>true</cite> will produce low latency when the traffic is low.
However, the latency varies a lost when the traffic is increased. So it is recommended to set
<cite>journalMaxGroupWaitMSec</cite>, <cite>journalBufferedEntriesThreshold</cite> and <cite>journalBufferedWritesThreshold</cite>
to reduce the number of fsyncs made to journal disk, to achieve sustained low latency.</p>
</div>
<div class="section" id="thread-settings">
<h4>Thread Settings<a class="headerlink" href="#thread-settings" title="Permalink to this headline">¶</a></h4>
<p>It is recommended to configure following settings to align with the cpu cores of the hardware.</p>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="n">numAddWorkerThreads</span><span class="o">=</span><span class="mi">4</span>
<span class="n">numJournalCallbackThreads</span><span class="o">=</span><span class="mi">4</span>
<span class="n">numReadWorkerThreads</span><span class="o">=</span><span class="mi">4</span>
<span class="n">numLongPollWorkerThreads</span><span class="o">=</span><span class="mi">4</span>
</pre></div>
<div style='display:none;' class='raw-code'><pre>numAddWorkerThreads=4
numJournalCallbackThreads=4
numReadWorkerThreads=4
numLongPollWorkerThreads=4</pre>
</div></div>
</div>
</div>
<div class="section" id="run">
<h3>Run<a class="headerlink" href="#run" title="Permalink to this headline">¶</a></h3>
<p>As <cite>bookkeeper-server</cite> is shipped as part of <cite>distributedlog-service</cite>, you could use the <cite>dlog-daemon.sh</cite>
script to start <cite>bookie</cite> as daemon thread.</p>
<p>Start the bookie:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ ./distributedlog-service/bin/dlog-daemon.sh start bookie --conf /path/to/bookie/conf
</pre></div>
<div style='display:none;' class='raw-code'><pre>$ ./distributedlog-service/bin/dlog-daemon.sh start bookie --conf /path/to/bookie/conf</pre>
</div></div>
<p>Stop the bookie:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ ./distributedlog-service/bin/dlog-daemon.sh stop bookie
</pre></div>
<div style='display:none;' class='raw-code'><pre>$ ./distributedlog-service/bin/dlog-daemon.sh stop bookie</pre>
</div></div>
<p>Please check <a class="reference external" href="http://bookkeeper.apache.org/">bookkeeper</a> website for more details.</p>
</div>
</div>
</div>


      </div>
    </div>
    <div class="hidden-xs col-sm-3 col-md-3 col-md-offset-1 col-lg-3 db-sidebar">
      
        <div class="db-toc" role="complementary">
          <ul class="current">
            <li class="toctree-l0 current"><a class="current reference internal" href="../index.html">DistributedLog</a></li>
          </ul>
          <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../download.html">Releases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../download.html#rc1">0.3.51-RC1</a></li>
<li class="toctree-l2"><a class="reference internal" href="../download.html#rc0">0.3.51-RC0</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../basics/main.html">Getting Started</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../basics/introduction.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../basics/quickstart.html">Quick Start</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../api/main.html">API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../api/core.html">Core Library API</a></li>
<li class="toctree-l2"><a class="reference internal" href="../api/proxy.html">Write Proxy Client API</a></li>
<li class="toctree-l2"><a class="reference internal" href="../api/practice.html">Best Practices</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/main.html">Configuration</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../configuration/core.html">Core Library Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../configuration/proxy.html">Write Proxy Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../configuration/client.html">Client Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../configuration/perlog.html">Per Stream Configuration</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../considerations/main.html">Considerations</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#consistency-durability-and-ordering">Consistency, Durability and Ordering</a></li>
<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#partitioning">Partitioning</a></li>
<li class="toctree-l2"><a class="reference internal" href="../considerations/main.html#processing-semantics">Processing Semantics</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/main.html">Architecture</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#data-model">Data Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#software-stack">Software Stack</a></li>
<li class="toctree-l2"><a class="reference internal" href="../architecture/main.html#lifecyle-of-records">Lifecyle of records</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../design/main.html">Detail Design</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../design/main.html#consistency">Consistency</a></li>
<li class="toctree-l2"><a class="reference internal" href="../design/main.html#streaming-reads">Streaming Reads</a></li>
<li class="toctree-l2"><a class="reference internal" href="../design/main.html#logsegment-lifecycle">LogSegment Lifecycle</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../globalreplicatedlog/main.html">Global Replicated Log</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#region-aware-data-placement-policy">Region Aware Data Placement Policy</a></li>
<li class="toctree-l2"><a class="reference internal" href="../globalreplicatedlog/main.html#cross-region-speculative-reads">Cross Region Speculative Reads</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../implementation/main.html">Implementation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../implementation/storage.html">Storage</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="main.html">Deployment &amp; Administration</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="deployment.html">Cluster Setup &amp; Deployment</a></li>
<li class="toctree-l2"><a class="reference internal" href="operations.html">DistributedLog Operations</a></li>
<li class="toctree-l2"><a class="reference internal" href="performance.html">Performance Tuning</a></li>
<li class="toctree-l2"><a class="reference internal" href="hardware.html">Hardware</a></li>
<li class="toctree-l2"><a class="reference internal" href="monitoring.html">Monitoring</a></li>
<li class="toctree-l2"><a class="reference internal" href="zookeeper.html">ZooKeeper</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="">BookKeeper</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../performance/main.html">Performance</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references/main.html">References</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../references/configuration.html">Configuration Settings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../references/metrics.html">Metrics</a></li>
<li class="toctree-l2"><a class="reference internal" href="../references/features.html">Features</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/main.html">Tutorials</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#basic">Basic</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#messaging">Messaging</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#replicated-state-machines">Replicated State Machines</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/main.html#analytics">Analytics</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../developer/main.html">Developer</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../developer/release.html">Release</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
</ul>

          <span id="last"></span>
        </div>
      
    </div>
    <!-- <div id="slidebox"> -->
      <!-- <button id="slidebox_close" type="button" class="close">&times;</button> -->
      <!-- <p>Rate This Page</p> -->
      <!-- <div id="rateYo"></div> -->
      <!-- <p>Comment</p>
      <input type="text" name="comment"></input>
      <button>Submit</button> -->
    <!-- </div> -->
  </div>
</div>
<footer class="footer">
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-10 col-md-offset-1">
        <p class="pull-right">
          <a href="#">Back to top</a>
          
          <br/>
          
<div id="sourcelink">
  <a href="git@github.com:twitter/distributedlog.git/tree/master/docs/operations/bookkeeper.rst"
     rel="nofollow">Source</a>
  
  <a href="../_sources/operations/bookkeeper.txt"
     rel="nofollow">Raw</a>
  <a href="../__docbird-build.log"
     rel="nofollow">Build Log</a>
  <a href="/report/stats/distributedlog:distributedlog"
     rel="nofollow">Stats</a>
</div>
        </p>
        <p>
          Built and hosted by <a href="/">DocBird</a>. 
        </p>
      </div>
    </div>
  </div>
</footer>
<script type="text/javascript" src="../_static/js/docbird.js"></script>
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-30775-8']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
<!-- <script type="text/javascript" src="//s/d41d8cd98f00b204e9800998ecf8427e/en_US-tbnx1s-1988229788/6163/97/1.4.3/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=e62237fc"></script>
-->

<script type="text/javascript">
  $(document).ready(function () {
    // track user activity time (from https://github.com/jasonzissman/TimeMe.js)
    TimeMe.setIdleDurationInSeconds(30);
    TimeMe.setCurrentPageName("my-home-page");
    TimeMe.initialize();

    // record page visit event when user leaves the page
    window.onbeforeunload = function (event) {
      xmlhttp=new XMLHttpRequest();
      xmlhttp.withCredentials = true;
      xmlhttp.open("POST", "/event/distributedlog:distributedlog/visit", false);
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      var event_data = {
        total_time_reading: TimeMe.getTimeOnCurrentPageInSeconds(),
        page: window.location.href
      };
      //alert("send: " + $.param(event_data));
      xmlhttp.send($.param(event_data));
    };

    // ask user for page rating after 20 seconds
    // setTimeout(function(){
    //   alert("Rate this page!");
    // }, 20000);
  });
</script>
<!-- <style>
#slidebox{
  width: 250px;
  height: 90px;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #ccc;
  position: fixed;
  bottom: 3px;
  right: -280px;
  z-index: 1;
}
#slidebox .close{
  margin-top: -5px;
  opacity: 0.5;
}
#slidebox .close:hover{
  opacity: 0.7;
}
</style> -->
<script type="text/javascript">
$(function() {
  // $(window).scroll(function(){
  //   var distanceTop = $('#last').offset().top - $(window).height();

  //   if  ($(window).scrollTop() > distanceTop)
  //     $('#slidebox').animate({'right':'3px'},300);
  //   else
  //     $('#slidebox').stop(true).animate({'right':'-280px'},100);
  // });

  // $('#slidebox .close').bind('click',function(){
  //   $(this).parent().remove();
  // });

  $("#rateYo").rateYo({
    normalFill: "#A0A0A0",
    halfStar: true,
    rating: (Cookies.get('docbird.rating.distributedlog.distributedlog') || 0.0)
  }).on("rateyo.set", function (e, data) {
      var event_data = {
        comment: '', // see todo note below
        rating: data.rating,
        page: window.location.href
      };
      Cookies.get('docbird.rating.distributedlog.distributedlog', data.rating)
      $.post('/event/distributedlog:distributedlog/rating', event_data)
      // xmlhttp=new XMLHttpRequest();
      // xmlhttp.withCredentials = true;
      // var event_data = {
      //   comment: '', // see todo note below
      //   rating: data.rating,
      //   page: window.location.href
      // };
      // xmlhttp.open("GET", "/event/distributedlog/rating?" + $.param(event_data), false);
      // xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      // // todo: implement comment form in rating slide out,
      // // and instead of hooking this event, include a submit button,
      // // and read the rating with rating() method

      // // alert("send: " + $.param(event_data));
      // xmlhttp.send();

  });

});
</script>
<script src="_static/js/selection-sharer.js"></script>
<script>
$('.db-content-body').selectionSharer();
</script>
  </body>
</html>
