<!DOCTYPE html>
<html lang="en">

  <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>Admin Guide</title>
  <meta name="description" content="Apache DistributedLog is an high performance replicated log.
">

  <link rel="stylesheet" href="/docs/latest/styles/site.css">
  <link rel="stylesheet" href="/docs/latest/css/theme.css">
  <!-- JQuery -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
  <script src="/docs/latest/js/bootstrap.min.js"></script>
  <link rel="canonical" href="http://bookkeeper.apache.org/distributedlog/docs/latest/admin_guide/main.html" data-proofer-ignore>
  <link rel="alternate" type="application/rss+xml" title="Apache DistributedLog" href="http://bookkeeper.apache.org/distributedlog/docs/latest/feed.xml">
  <!-- Font Awesome -->
  <script src="//cdnjs.cloudflare.com/ajax/libs/anchor-js/3.2.0/anchor.min.js"></script>
  <!-- Google Analytics -->
  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-83870961-1', 'auto');
  ga('send', 'pageview');
  </script>
  <!-- End Google Analytics -->
  <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
</head>


  <body role="document">

    
<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <a href="/" class="navbar-brand" >
        <img alt="Brand" style="height: 28px" src="/docs/latest/images/distributedlog_logo_navbar.png">
      </a>
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <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 id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <!-- Overview -->
        <li><a href="/docs/latest/">V0.6.0</a></li>
        <!-- Concepts -->
        <li><a href="/docs/latest/basics/introduction">Concepts</a></li>
        <!-- Quick Start -->
        <li>
          <a href="/docs/latest/start" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Start<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            
            
            <li>
              <a href="/docs/latest/start/building.html">
                Build DistributedLog from Source
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/start/download.html">
                Download Releases
              </a>
            </li>
            
            <li role="separator" class="divider"></li>
            <li class="dropdown-header"><strong>Quickstart</strong></li>
            
            
            <li>
              <a href="/docs/latest/start/quickstart.html">
                Setup & Run Example
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/basic-1.html">
                API - Write Records (via core library)
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/basic-2.html">
                API - Write Records (via write proxy)
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/basic-5.html">
                API - Read Records
              </a>
            </li>
            
            <li role="separator" class="divider"></li>
            <li class="dropdown-header"><strong>Deployment</strong></li>
            
            
            <li>
              <a href="/docs/latest/deployment/cluster.html">
                Cluster Setup
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/deployment/global-cluster.html">
                Global Cluster Setup
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/deployment/kubernetes.html">
                Kubernetes
              </a>
            </li>
            
          </ul>
        </li>
        <!-- API -->
        <li>
          <a href="/docs/latest/start" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">API<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/docs/latest/api/java">Java</a></li>
          </ul>
        </li>
        <!-- User Guide -->
        <li class="dropdown">
		      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">User Guide<span class="caret"></span></a>
          <ul class="dropdown-menu">
            
            
            <li>
              <a href="/docs/latest/basics/introduction.html">
                Introduction
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/considerations/main.html">
                Considerations
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/architecture/main.html">
                Architecture
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/api/main.html">
                API
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/configuration/main.html">
                Configuration
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/design/main.html">
                Detail Design
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/globalreplicatedlog/main.html">
                Global Replicated Log
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/implementation/main.html">
                Implementation
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/user_guide/references/main.html">
                References
              </a>
            </li>
            
          </ul>
        </li>
        <!-- Admin Guide -->
        <li class="dropdown">
		      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Admin Guide<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="/docs/latest/deployment/cluster">Cluster Setup</a></li>
            
            
            <li>
              <a href="/docs/latest/admin_guide/operations.html">
                Operations
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/admin_guide/loadtest.html">
                Load Test
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/admin_guide/performance.html">
                Performance Tuning
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/admin_guide/hardware.html">
                Hardware
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/admin_guide/monitoring.html">
                Monitoring
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/admin_guide/zookeeper.html">
                ZooKeeper
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/admin_guide/bookkeeper.html">
                BookKeeper
              </a>
            </li>
            
          </ul>
        </li>
        <!-- Tutorials -->
        <li class="dropdown">
		      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Tutorials<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li class="dropdown-header"><strong>Basic</strong></li>
            <li><a href="/docs/latest/tutorials/basic-1">Write Records (via Core Library)</a></li>
            <li><a href="/docs/latest/tutorials/basic-2">Write Records (via Write Proxy)</a></li>
            <li><a href="/docs/latest/tutorials/basic-3">Write Records to multiple streams</a></li>
            <li><a href="/docs/latest/tutorials/basic-4">Atomic Write Records</a></li>
            <li><a href="/docs/latest/tutorials/basic-5">Tailing Read Records</a></li>
            <li><a href="/docs/latest/tutorials/basic-6">Rewind Read Records</a></li>
            <li role="separator" class="divider"></li>
            <li class="dropdown-header"><strong>Messaging</strong></li>
            
            
            <li>
              <a href="/docs/latest/tutorials/messaging-1.html">
                Write records to partitioned streams
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/messaging-2.html">
                Write records to multiple streams (load balancer)
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/messaging-3.html">
                At-least-once Processing
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/messaging-4.html">
                Exact-Once Processing
              </a>
            </li>
            
            <li>
              <a href="/docs/latest/tutorials/messaging-5.html">
                Implement a kafka-like pub/sub system
              </a>
            </li>
            
            <li role="separator" class="divider"></li>
            <li class="dropdown-header"><strong>Replicated State Machines</strong></li>
            
            
            <li>
              <a href="/docs/latest/tutorials/replicatedstatemachines.html">
                Build replicated state machines
              </a>
            </li>
            
            <li role="separator" class="divider"></li>
            <li class="dropdown-header"><strong>Analytics</strong></li>
            <li><a href="/docs/latest/tutorials/analytics-mapreduce">Process log streams using MapReduce</a></li>
          </ul>
        </li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</nav>


<link rel="stylesheet" href="">


    <div class="container" role="main">

      <div class="row">
        
        <div class="col-md-8 col-md-offset-2">
  <ul id="sub-nav">
    
    
    
      
      <li><a href="/docs/latest/admin_guide/main.html" class="active">Admin Guide</a>
        
        <ul>
          
            
            <li>
              <a href="/docs/latest/deployment/cluster.html" class="">
                Cluster Setup
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/deployment/global-cluster.html" class="">
                Global Cluster Setup
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/operations.html" class="">
                Operations
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/loadtest.html" class="">
                Load Test
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/performance.html" class="">
                Performance Tuning
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/hardware.html" class="">
                Hardware
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/monitoring.html" class="">
                Monitoring
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/zookeeper.html" class="">
                ZooKeeper
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
            
            <li>
              <a href="/docs/latest/admin_guide/bookkeeper.html" class="">
                BookKeeper
              </a>
              
              <ul>
                
              </ul>
              
            </li>
          
        </ul>
        
      </li>
    
  </ul>
</div>

      </div>


    <hr>
  <div class="row">
      <div class="col-xs-12">
          <footer>
              <p class="text-center">&copy; Copyright 2016
                  <a href="http://www.apache.org">The Apache Software Foundation.</a> All Rights Reserved.
              </p>
              <p class="text-center">
                  <a href="/docs/latest/feed.xml">RSS Feed</a>
              </p>
          </footer>
      </div>
  </div>
  <!-- container div end -->
</div>


    <script>
  (function () {
    'use strict';
    anchors.options.placement = 'right';
    anchors.add();
  })();
</script>

  </body>

</html>
