hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mi...@apache.org
Subject [25/51] [partial] hbase-site git commit: Published site at 387c7e6b083fddeae2a7ebe1fef3546f38ef9fb5.
Date Fri, 06 May 2016 21:48:41 GMT
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/958717f4/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 1631876..9d46d8b 100644
--- a/book.html
+++ b/book.html
@@ -777,7 +777,7 @@ Use the <code>jps</code> to be sure that the HMaster and HRegionServer
processes
 <h3 id="quickstart_pseudo"><a class="anchor" href="#quickstart_pseudo"></a>2.3.
Intermediate - Pseudo-Distributed Local Install</h3>
 <div class="paragraph">
 <p>After working your way through <a href="#quickstart">quickstart</a>,
you can re-configure HBase to run in pseudo-distributed mode.
-Pseudo-distributed mode means that HBase still runs completely on a single host, but each
HBase daemon (HMaster, HRegionServer, and Zookeeper) runs as a separate process.
+Pseudo-distributed mode means that HBase still runs completely on a single host, but each
HBase daemon (HMaster, HRegionServer, and ZooKeeper) runs as a separate process.
 By default, unless you configure the <code>hbase.rootdir</code> property as described
in <a href="#quickstart">quickstart</a>, your data is still stored in <em>/tmp/</em>.
 In this walk-through, we store your data in HDFS instead, assuming you have HDFS available.
 You can skip the HDFS configuration to continue storing your data in the local filesystem.</p>
@@ -959,7 +959,7 @@ The following command starts four additional RegionServers, running on
sequentia
 <div class="paragraph">
 <p>In reality, you need a fully-distributed configuration to fully test HBase and to
use it in real-world scenarios.
 In a distributed configuration, the cluster contains multiple nodes, each of which runs one
or more HBase daemon.
-These include primary and backup Master instances, multiple Zookeeper nodes, and multiple
RegionServer nodes.</p>
+These include primary and backup Master instances, multiple ZooKeeper nodes, and multiple
RegionServer nodes.</p>
 </div>
 <div class="paragraph">
 <p>This advanced quickstart adds two more nodes to your cluster.
@@ -1942,7 +1942,7 @@ Set <span class="var">JAVA_HOME</span> to point at the root
of your java install
 <p>This is the default mode.
 Standalone mode is what is described in the <a href="#quickstart">quickstart</a>
section.
 In standalone mode, HBase does not use HDFS&#8201;&#8212;&#8201;it uses the local
filesystem instead&#8201;&#8212;&#8201;and it runs all HBase daemons and a local
ZooKeeper all up in the same JVM.
-Zookeeper binds to a well known port so clients may talk to HBase.</p>
+ZooKeeper binds to a well known port so clients may talk to HBase.</p>
 </div>
 </div>
 <div class="sect2">
@@ -2000,7 +2000,7 @@ These configuration basics are all demonstrated in <a href="#quickstart_fully_di
 </div>
 <div class="paragraph">
 <div class="title">Distributed RegionServers</div>
-<p>Typically, your cluster will contain multiple RegionServers all running on different
servers, as well as primary and backup Master and Zookeeper daemons.
+<p>Typically, your cluster will contain multiple RegionServers all running on different
servers, as well as primary and backup Master and ZooKeeper daemons.
 The <em>conf/regionservers</em> file on the master server contains a list of
hosts whose RegionServers are associated with this cluster.
 Each host is on a separate line.
 All hosts listed in this file will have their RegionServer processes started and stopped
when the master server starts or stops.</p>
@@ -2362,21 +2362,6 @@ Configuration that it is thought rare anyone would change can exist
only in code
 </dd>
 </dl>
 </div>
-<div id="hbase.master.catalog.timeout" class="dlist">
-<dl>
-<dt class="hdlist1"><code>hbase.master.catalog.timeout</code></dt>
-<dd>
-<div class="paragraph">
-<div class="title">Description</div>
-<p>Timeout value for the Catalog Janitor from the master to META.</p>
-</div>
-<div class="paragraph">
-<div class="title">Default</div>
-<p><code>600000</code></p>
-</div>
-</dd>
-</dl>
-</div>
 <div id="hbase.master.infoserver.redirect" class="dlist">
 <dl>
 <dt class="hdlist1"><code>hbase.master.infoserver.redirect</code></dt>
@@ -2632,21 +2617,6 @@ Configuration that it is thought rare anyone would change can exist
only in code
 </dd>
 </dl>
 </div>
-<div id="hbase.regionserver.catalog.timeout" class="dlist">
-<dl>
-<dt class="hdlist1"><code>hbase.regionserver.catalog.timeout</code></dt>
-<dd>
-<div class="paragraph">
-<div class="title">Description</div>
-<p>Timeout value for the Catalog Janitor from the regionserver to META.</p>
-</div>
-<div class="paragraph">
-<div class="title">Default</div>
-<p><code>600000</code></p>
-</div>
-</dd>
-</dl>
-</div>
 <div id="hbase.regionserver.dns.interface" class="dlist">
 <dl>
 <dt class="hdlist1"><code>hbase.regionserver.dns.interface</code></dt>
@@ -2737,21 +2707,6 @@ Configuration that it is thought rare anyone would change can exist
only in code
 </dd>
 </dl>
 </div>
-<div id="zookeeper.znode.rootserver" class="dlist">
-<dl>
-<dt class="hdlist1"><code>zookeeper.znode.rootserver</code></dt>
-<dd>
-<div class="paragraph">
-<div class="title">Description</div>
-<p>Path to ZNode holding root region location. This is written by the master and read
by clients and region servers. If a relative path is given, the parent folder will be ${zookeeper.znode.parent}.
By default, this means the root location is stored at /hbase/root-region-server.</p>
-</div>
-<div class="paragraph">
-<div class="title">Default</div>
-<p><code>root-region-server</code></p>
-</div>
-</dd>
-</dl>
-</div>
 <div id="zookeeper.znode.acl.parent" class="dlist">
 <dl>
 <dt class="hdlist1"><code>zookeeper.znode.acl.parent</code></dt>
@@ -3618,9 +3573,9 @@ Configuration that it is thought rare anyone would change can exist
only in code
 </dd>
 </dl>
 </div>
-<div id="hbase.bucketcache.sizes" class="dlist">
+<div id="hbase.bucketcache.bucket.sizes" class="dlist">
 <dl>
-<dt class="hdlist1"><code>hbase.bucketcache.sizes</code></dt>
+<dt class="hdlist1"><code>hbase.bucketcache.bucket.sizes</code></dt>
 <dd>
 <div class="paragraph">
 <div class="title">Description</div>
@@ -4203,21 +4158,6 @@ Configuration that it is thought rare anyone would change can exist
only in code
 </dd>
 </dl>
 </div>
-<div id="hbase.thrift.htablepool.size.max" class="dlist">
-<dl>
-<dt class="hdlist1"><code>hbase.thrift.htablepool.size.max</code></dt>
-<dd>
-<div class="paragraph">
-<div class="title">Description</div>
-<p>The upper bound for the table pool used in the Thrift gateways server. Since this
is per table name, we assume a single table and so with 1000 default worker threads max this
is set to a matching number. For other workloads this number can be adjusted as needed.</p>
-</div>
-<div class="paragraph">
-<div class="title">Default</div>
-<p><code>1000</code></p>
-</div>
-</dd>
-</dl>
-</div>
 <div id="hbase.regionserver.thrift.framed" class="dlist">
 <dl>
 <dt class="hdlist1"><code>hbase.regionserver.thrift.framed</code></dt>
@@ -4308,36 +4248,6 @@ Configuration that it is thought rare anyone would change can exist
only in code
 </dd>
 </dl>
 </div>
-<div id="hbase.metrics.showTableName" class="dlist">
-<dl>
-<dt class="hdlist1"><code>hbase.metrics.showTableName</code></dt>
-<dd>
-<div class="paragraph">
-<div class="title">Description</div>
-<p>Whether to include the prefix "tbl.tablename" in per-column family metrics. If true,
for each metric M, per-cf metrics will be reported for tbl.T.cf.CF.M, if false, per-cf metrics
will be aggregated by column-family across tables, and reported for cf.CF.M. In both cases,
the aggregated metric M across tables and cfs will be reported.</p>
-</div>
-<div class="paragraph">
-<div class="title">Default</div>
-<p><code>true</code></p>
-</div>
-</dd>
-</dl>
-</div>
-<div id="hbase.metrics.exposeOperationTimes" class="dlist">
-<dl>
-<dt class="hdlist1"><code>hbase.metrics.exposeOperationTimes</code></dt>
-<dd>
-<div class="paragraph">
-<div class="title">Description</div>
-<p>Whether to report metrics about time taken performing an operation on the region
server. Get, Put, Delete, Increment, and Append can all have their times exposed through Hadoop
metrics per CF and per region.</p>
-</div>
-<div class="paragraph">
-<div class="title">Default</div>
-<p><code>true</code></p>
-</div>
-</dd>
-</dl>
-</div>
 <div id="hbase.snapshot.enabled" class="dlist">
 <dl>
 <dt class="hdlist1"><code>hbase.snapshot.enabled</code></dt>
@@ -5302,8 +5212,8 @@ config.set(<span class="string"><span class="delimiter">&quot;</span><span
class
     <span class="tag">&lt;name&gt;</span>hbase.cluster.distributed<span
class="tag">&lt;/name&gt;</span>
     <span class="tag">&lt;value&gt;</span>true<span class="tag">&lt;/value&gt;</span>
     <span class="tag">&lt;description&gt;</span>The mode the cluster
will be in. Possible values are
-      false: standalone and pseudo-distributed setups with managed Zookeeper
-      true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
+      false: standalone and pseudo-distributed setups with managed ZooKeeper
+      true: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)
     <span class="tag">&lt;/description&gt;</span>
   <span class="tag">&lt;/property&gt;</span>
 <span class="tag">&lt;/configuration&gt;</span></code></pre>
@@ -15617,6 +15527,170 @@ This information is now included in the configuration parameter
table in <a href
 </div>
 </div>
 <div class="sect4">
+<h5 id="ops.date.tiered"><a class="anchor" href="#ops.date.tiered"></a>Date
Tiered Compaction</h5>
+<div class="paragraph">
+<p>Date tiered compaction is a date-aware store file compaction strategy that is beneficial
for time-range scans for time-series data.</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="ops.date.tiered.when"><a class="anchor" href="#ops.date.tiered.when"></a>When
To Use Date Tiered Compactions</h5>
+<div class="paragraph">
+<p>Consider using Date Tiered Compaction for reads for limited time ranges, especially
scans of recent data</p>
+</div>
+<div class="paragraph">
+<p>Don&#8217;t use it for</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>random gets without a limited time range</p>
+</li>
+<li>
+<p>frequent deletes and updates</p>
+</li>
+<li>
+<p>Frequent out of order data writes creating long tails, especially writes with future
timestamps</p>
+</li>
+<li>
+<p>frequent bulk loads with heavily overlapping time ranges</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<div class="title">Performance Improvements</div>
+<p>Performance testing has shown that the performance of time-range scans improve greatly
for limited time ranges, especially scans of recent data.</p>
+</div>
+<div class="sect5">
+<h6 id="ops.date.tiered.enable"><a class="anchor" href="#ops.date.tiered.enable"></a>Enabling
Date Tiered Compaction</h6>
+<div class="paragraph">
+<p>You can enable Date Tiered compaction for a table or a column family, by setting
its <code>hbase.hstore.engine.class</code> to <code>org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine</code>.</p>
+</div>
+<div class="paragraph">
+<p>You also need to set <code>hbase.hstore.blockingStoreFiles</code> to
a high number, such as 60, if using all default settings, rather than the default value of
12). Use 1.5~2 x projected file count if changing the parameters, Projected file count = windows
per tier x tier count + incoming window min + files older than max age</p>
+</div>
+<div class="paragraph">
+<p>You also need to set <code>hbase.hstore.compaction.max</code> to the
same value as <code>hbase.hstore.blockingStoreFiles</code> to unblock major compaction.</p>
+</div>
+<div class="olist arabic">
+<div class="title">Procedure: Enable Date Tiered Compaction</div>
+<ol class="arabic">
+<li>
+<p>Run one of following commands in the HBase shell.
+Replace the table name <code>orders_table</code> with the name of your table.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="sql"><span class="class">alter</span>
<span class="string"><span class="delimiter">'</span><span class="content">orders_table</span><span
class="delimiter">'</span></span>, CONFIGURATION =&gt; {<span class="string"><span
class="delimiter">'</span><span class="content">hbase.hstore.engine.class</span><span
class="delimiter">'</span></span> =&gt; <span class="string"><span
class="delimiter">'</span><span class="content">org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine</span><span
class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span
class="content">hbase.hstore.blockingStoreFiles</span><span class="delimiter">'</span></span>
=&gt; <span class="string"><span class="delimiter">'</span><span
class="content">60</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'</span><span class="content">hbase.hstore.compaction.min</span><span
class="delimiter">'</s
 pan></span>=&gt;<span class="string"><span class="delimiter">'</span><span
class="content">2</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'</span><span class="content">hbase.hstore.compaction.max</span><span
class="delimiter">'</span></span>=&gt;<span class="string"><span
class="delimiter">'</span><span class="content">60</span><span class="delimiter">'</span></span>}
+<span class="class">alter</span> <span class="string"><span class="delimiter">'</span><span
class="content">orders_table</span><span class="delimiter">'</span></span>,
{NAME =&gt; <span class="string"><span class="delimiter">'</span><span
class="content">blobs_cf</span><span class="delimiter">'</span></span>,
CONFIGURATION =&gt; {<span class="string"><span class="delimiter">'</span><span
class="content">hbase.hstore.engine.class</span><span class="delimiter">'</span></span>
=&gt; <span class="string"><span class="delimiter">'</span><span
class="content">org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine</span><span
class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span
class="content">hbase.hstore.blockingStoreFiles</span><span class="delimiter">'</span></span>
=&gt; <span class="string"><span class="delimiter">'</span><span
class="content">60</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'<
 /span><span class="content">hbase.hstore.compaction.min</span><span class="delimiter">'</span></span>=&gt;<span
class="string"><span class="delimiter">'</span><span class="content">2</span><span
class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span
class="content">hbase.hstore.compaction.max</span><span class="delimiter">'</span></span>=&gt;<span
class="string"><span class="delimiter">'</span><span class="content">60</span><span
class="delimiter">'</span></span>}}
+<span class="class">create</span> <span class="string"><span class="delimiter">'</span><span
class="content">orders_table</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'</span><span class="content">blobs_cf</span><span
class="delimiter">'</span></span>, CONFIGURATION =&gt; {<span class="string"><span
class="delimiter">'</span><span class="content">hbase.hstore.engine.class</span><span
class="delimiter">'</span></span> =&gt; <span class="string"><span
class="delimiter">'</span><span class="content">org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine</span><span
class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span
class="content">hbase.hstore.blockingStoreFiles</span><span class="delimiter">'</span></span>
=&gt; <span class="string"><span class="delimiter">'</span><span
class="content">60</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'</span><span
  class="content">hbase.hstore.compaction.min</span><span class="delimiter">'</span></span>=&gt;<span
class="string"><span class="delimiter">'</span><span class="content">2</span><span
class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span
class="content">hbase.hstore.compaction.max</span><span class="delimiter">'</span></span>=&gt;<span
class="string"><span class="delimiter">'</span><span class="content">60</span><span
class="delimiter">'</span></span>}</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Configure other options if needed.
+See <a href="#ops.date.tiered.config">Configuring Date Tiered Compaction</a>
for more information.</p>
+</li>
+</ol>
+</div>
+<div class="olist arabic">
+<div class="title">Procedure: Disable Date Tiered Compaction</div>
+<ol class="arabic">
+<li>
+<p>Set the <code>hbase.hstore.engine.class</code> option to either nil
or <code>org.apache.hadoop.hbase.regionserver.DefaultStoreEngine</code>.
+Either option has the same effect.
+Make sure you set the other options you changed to the original settings too.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="sql"><span class="class">alter</span>
<span class="string"><span class="delimiter">'</span><span class="content">orders_table</span><span
class="delimiter">'</span></span>, CONFIGURATION =&gt; {<span class="string"><span
class="delimiter">'</span><span class="content">hbase.hstore.engine.class</span><span
class="delimiter">'</span></span> =&gt; <span class="string"><span
class="delimiter">'</span><span class="content">org.apache.hadoop.hbase.regionserver.DefaultStoreEngine</span><span
class="delimiter">'</span></span><span class="error">,</span>
<span class="string"><span class="delimiter">'</span><span class="content">hbase.hstore.blockingStoreFiles</span><span
class="delimiter">'</span></span> =&gt; <span class="string"><span
class="delimiter">'</span><span class="content">12</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'</span><span class="content">hbase.hstore.compaction.min</span><s
 pan class="delimiter">'</span></span>=&gt;<span class="string"><span
class="delimiter">'</span><span class="content">6</span><span class="delimiter">'</span></span>,
<span class="string"><span class="delimiter">'</span><span class="content">hbase.hstore.compaction.max</span><span
class="delimiter">'</span></span>=&gt;<span class="string"><span
class="delimiter">'</span><span class="content">12</span><span class="delimiter">'</span></span>}}</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>When you change the store engine either way, a major compaction will likely be performed
on most regions.
+This is not necessary on new tables.</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="ops.date.tiered.config"><a class="anchor" href="#ops.date.tiered.config"></a>Configuring
Date Tiered Compaction</h6>
+<div class="paragraph">
+<p>Each of the settings for date tiered compaction should be configured at the table
or column family, after disabling the table.
+If you use HBase shell, the general command pattern is as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="sql"><span class="class">alter</span>
<span class="string"><span class="delimiter">'</span><span class="content">orders_table</span><span
class="delimiter">'</span></span>, CONFIGURATION =&gt; {<span class="string"><span
class="delimiter">'</span><span class="content">key</span><span class="delimiter">'</span></span>
=&gt; <span class="string"><span class="delimiter">'</span><span
class="content">value</span><span class="delimiter">'</span></span>,
..., <span class="string"><span class="delimiter">'</span><span class="content">key</span><span
class="delimiter">'</span></span> =&gt; <span class="string"><span
class="delimiter">'</span><span class="content">value</span><span
class="delimiter">'</span></span>}}</code></pre>
+</div>
+</div>
+<div id="ops.date.tiered.config.parameters" class="paragraph">
+<div class="title">Tier Parameters</div>
+<p>You can configure your date tiers by changing the settings for the following parameters:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 9. Date Tier Parameters</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Setting</th>
+<th class="tableblock halign-left valign-top">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.date.tiered.max.storefile.age.millis</code></p></td>
+<td class="tableblock halign-left valign-top"><div><div class="paragraph">
+<p>Files with max-timestamp smaller than this will no longer be compacted.Default at
Long.MAX_VALUE.</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.date.tiered.base.window.millis</code></p></td>
+<td class="tableblock halign-left valign-top"><div><div class="paragraph">
+<p>Base window size in milliseconds. Default at 6 hours.</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.date.tiered.windows.per.tier</code></p></td>
+<td class="tableblock halign-left valign-top"><div><div class="paragraph">
+<p>Number of windows per tier. Default at 4.</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.date.tiered.incoming.window.min</code></p></td>
+<td class="tableblock halign-left valign-top"><div><div class="paragraph">
+<p>Minimal number of files to compact in the incoming window. Set it to expected number
of files in the window to avoid wasteful compaction. Default at 6.</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.date.tiered.window.policy.class</code></p></td>
+<td class="tableblock halign-left valign-top"><div><div class="paragraph">
+<p>The policy to select store files within the same time window. It doesn’t apply
to the incoming window. Default at exploring compaction. This is to avoid wasteful compaction.</p>
+</div></div></td>
+</tr>
+</tbody>
+</table>
+<div id="ops.date.tiered.config.compaction.throttler" class="paragraph">
+<div class="title">Compaction Throttler</div>
+<p>With tiered compaction all servers in the cluster will promote windows to higher
tier at the same time, so using a compaction throttle is recommended:
+Set <code>hbase.regionserver.throughput.controller</code> to <code>org.apache.hadoop.hbase.regionserver.compactions.PressureAwareCompactionThroughputController</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+For more information about date tiered compaction, please refer to the design specification
at <a href="https://docs.google.com/document/d/1_AmlNb2N8Us1xICsTeGDLKIqL6T-oHoRLZ323MG_uy8"
class="bare">https://docs.google.com/document/d/1_AmlNb2N8Us1xICsTeGDLKIqL6T-oHoRLZ323MG_uy8</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect4">
 <h5 id="ops.stripe"><a class="anchor" href="#ops.stripe"></a>Experimental:
Stripe Compactions</h5>
 <div class="paragraph">
 <p>Stripe compactions is an experimental feature added in HBase 0.98 which aims to
improve compactions for large regions or non-uniformly distributed row keys.
@@ -15739,7 +15813,7 @@ A good rule is to aim for a stripe size of at least 1 GB, and about
8-12 stripes
 For example, if your regions are 30 GB, 12 x 2.5 GB stripes might be a good starting point.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 9. Stripe Sizing Settings</caption>
+<caption class="title">Table 10. Stripe Sizing Settings</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -19414,7 +19488,7 @@ and <code>salaryDet</code>, containing personal and salary
details. Below is the
 of the <code>users</code> table.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 10. Users Table</caption>
+<caption class="title">Table 11. Users Table</caption>
 <colgroup>
 <col style="width: 14%;">
 <col style="width: 14%;">
@@ -23084,7 +23158,7 @@ Some commands take arguments. Pass no args or -h for usage.
   upgrade         Upgrade hbase
   master          Run an HBase HMaster node
   regionserver    Run an HBase HRegionServer node
-  zookeeper       Run a Zookeeper server
+  zookeeper       Run a ZooKeeper server
   rest            Run an HBase REST server
   thrift          Run the HBase Thrift server
   thrift2         Run the HBase Thrift2 server
@@ -27978,7 +28052,7 @@ End-of-life releases are not included in this list.
 </table>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 11. Release Managers</caption>
+<caption class="title">Table 12. Release Managers</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -29389,7 +29463,7 @@ If running zookeeper 3.5+, you can ask hbase to make use of the new
multi operat
 <td class="content">
 <div class="title">ZooKeeper Maintenance</div>
 <div class="paragraph">
-<p>Be sure to set up the data dir cleaner described under <a href="http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_maintenance">Zookeeper
+<p>Be sure to set up the data dir cleaner described under <a href="http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_maintenance">ZooKeeper
         Maintenance</a> else you could have 'interesting' problems a couple of months
in; i.e.
 zookeeper could start dropping sessions if it has to run through a directory of hundreds
of thousands of logs which is wont to do around leader reelection time&#8201;&#8212;&#8201;a
process rare but run on occasion whether because a machine is dropped or happens to hiccup.</p>
 </div>
@@ -29408,7 +29482,7 @@ zookeeper could start dropping sessions if it has to run through a
directory of
 <div class="listingblock">
 <div class="content">
 <pre>  ...
-  # Tell HBase whether it should manage its own instance of Zookeeper or not.
+  # Tell HBase whether it should manage its own instance of ZooKeeper or not.
   export HBASE_MANAGES_ZK=false</pre>
 </div>
 </div>
@@ -29440,11 +29514,11 @@ Additionally, see the <a href="http://wiki.apache.org/hadoop/ZooKeeper/FAQ#A7">Z
 <h2 id="zk.sasl.auth"><a class="anchor" href="#zk.sasl.auth"></a>154. SASL
Authentication with ZooKeeper</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Newer releases of Apache HBase (&gt;= 0.92) will support connecting to a ZooKeeper
Quorum that supports SASL authentication (which is available in Zookeeper versions 3.4.0 or
later).</p>
+<p>Newer releases of Apache HBase (&gt;= 0.92) will support connecting to a ZooKeeper
Quorum that supports SASL authentication (which is available in ZooKeeper versions 3.4.0 or
later).</p>
 </div>
 <div class="paragraph">
 <p>This describes how to set up HBase to mutually authenticate with a ZooKeeper Quorum.
-ZooKeeper/HBase mutual authentication (<a href="https://issues.apache.org/jira/browse/HBASE-2418">HBASE-2418</a>)
is required as part of a complete secure HBase configuration (<a href="https://issues.apache.org/jira/browse/HBASE-3025">HBASE-3025</a>).
For simplicity of explication, this section ignores additional configuration required (Secure
HDFS and Coprocessor configuration). It&#8217;s recommended to begin with an HBase-managed
Zookeeper configuration (as opposed to a standalone Zookeeper quorum) for ease of learning.</p>
+ZooKeeper/HBase mutual authentication (<a href="https://issues.apache.org/jira/browse/HBASE-2418">HBASE-2418</a>)
is required as part of a complete secure HBase configuration (<a href="https://issues.apache.org/jira/browse/HBASE-3025">HBASE-3025</a>).
For simplicity of explication, this section ignores additional configuration required (Secure
HDFS and Coprocessor configuration). It&#8217;s recommended to begin with an HBase-managed
ZooKeeper configuration (as opposed to a standalone ZooKeeper quorum) for ease of learning.</p>
 </div>
 <div class="sect2">
 <h3 id="_operating_system_prerequisites"><a class="anchor" href="#_operating_system_prerequisites"></a>154.1.
Operating System Prerequisites</h3>
@@ -29464,7 +29538,7 @@ Note the location of this file, which we will use below as <em>$PATH_TO_HBASE_KE
 This principal should usually have a password assigned to it (as opposed to, as with the
HBase servers, a keytab file) which only this user knows.
 The client&#8217;s principal&#8217;s <code>maxrenewlife</code> should
be set so that it can be renewed enough so that the user can complete their HBase client processes.
 For example, if a user runs a long-running HBase client process that takes at most 3 days,
we might create this user&#8217;s principal within <code>kadmin</code> with:
<code>addprinc -maxrenewlife 3days</code>.
-The Zookeeper client and server libraries manage their own ticket refreshment by running
threads that wake up periodically to do the refreshment.</p>
+The ZooKeeper client and server libraries manage their own ticket refreshment by running
threads that wake up periodically to do the refreshment.</p>
 </div>
 <div class="paragraph">
 <p>On each host that will run an HBase client (e.g. <code>hbase shell</code>),
add the following file to the HBase home directory&#8217;s <em>conf</em> directory:</p>
@@ -29483,7 +29557,7 @@ The Zookeeper client and server libraries manage their own ticket
refreshment by
 </div>
 </div>
 <div class="sect2">
-<h3 id="_hbase_managed_zookeeper_configuration"><a class="anchor" href="#_hbase_managed_zookeeper_configuration"></a>154.2.
HBase-managed Zookeeper Configuration</h3>
+<h3 id="_hbase_managed_zookeeper_configuration"><a class="anchor" href="#_hbase_managed_zookeeper_configuration"></a>154.2.
HBase-managed ZooKeeper Configuration</h3>
 <div class="paragraph">
 <p>On each node that will run a zookeeper, a master, or a regionserver, create a <a
href="http://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/LoginConfigFile.html">JAAS</a>
       configuration file in the conf directory of the node&#8217;s <em>HBASE_HOME</em>
       directory that looks like the following:</p>
 </div>
@@ -29510,7 +29584,7 @@ Client {
 <p>where the <em>$PATH_TO_HBASE_KEYTAB</em> and <em>$PATH_TO_ZOOKEEPER_KEYTAB</em>
files are what you created above, and <code>$HOST</code> is the hostname for that
node.</p>
 </div>
 <div class="paragraph">
-<p>The <code>Server</code> section will be used by the Zookeeper quorum
server, while the <code>Client</code> section will be used by the HBase master
and regionservers.
+<p>The <code>Server</code> section will be used by the ZooKeeper quorum
server, while the <code>Client</code> section will be used by the HBase master
and regionservers.
 The path to this file should be substituted for the text <em>$HBASE_SERVER_CONF</em>
in the <em>hbase-env.sh</em> listing below.</p>
 </div>
 <div class="paragraph">
@@ -29561,7 +29635,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;-Djava.security.auth.login.config=$HBASE_SE
 </div>
 </div>
 <div class="paragraph">
-<p>where <code>$ZK_NODES</code> is the comma-separated list of hostnames
of the Zookeeper Quorum hosts.</p>
+<p>where <code>$ZK_NODES</code> is the comma-separated list of hostnames
of the ZooKeeper Quorum hosts.</p>
 </div>
 <div class="paragraph">
 <p>Start your hbase cluster by running one or more of the following set of commands
on the appropriate hosts:</p>
@@ -29575,7 +29649,7 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_external_zookeeper_configuration"><a class="anchor" href="#_external_zookeeper_configuration"></a>154.3.
External Zookeeper Configuration</h3>
+<h3 id="_external_zookeeper_configuration"><a class="anchor" href="#_external_zookeeper_configuration"></a>154.3.
External ZooKeeper Configuration</h3>
 <div class="paragraph">
 <p>Add a JAAS configuration file that looks like:</p>
 </div>
@@ -29636,7 +29710,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;-Djava.security.auth.login.config=$HBASE_SE
 </div>
 </div>
 <div class="paragraph">
-<p>where <code>$ZK_NODES</code> is the comma-separated list of hostnames
of the Zookeeper Quorum hosts.</p>
+<p>where <code>$ZK_NODES</code> is the comma-separated list of hostnames
of the ZooKeeper Quorum hosts.</p>
 </div>
 <div class="paragraph">
 <p>Also on each of these hosts, create a JAAS configuration file containing:</p>
@@ -29658,7 +29732,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;-Djava.security.auth.login.config=$HBASE_SE
 We will refer to the full pathname of this file as <em>$ZK_SERVER_CONF</em> below.</p>
 </div>
 <div class="paragraph">
-<p>Start your Zookeepers on each Zookeeper Quorum host with:</p>
+<p>Start your ZooKeepers on each ZooKeeper Quorum host with:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -29676,9 +29750,9 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_zookeeper_server_authentication_log_output"><a class="anchor" href="#_zookeeper_server_authentication_log_output"></a>154.4.
Zookeeper Server Authentication Log Output</h3>
+<h3 id="_zookeeper_server_authentication_log_output"><a class="anchor" href="#_zookeeper_server_authentication_log_output"></a>154.4.
ZooKeeper Server Authentication Log Output</h3>
 <div class="paragraph">
-<p>If the configuration above is successful, you should see something similar to the
following in your Zookeeper server logs:</p>
+<p>If the configuration above is successful, you should see something similar to the
following in your ZooKeeper server logs:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -29698,9 +29772,9 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_zookeeper_client_authentication_log_output"><a class="anchor" href="#_zookeeper_client_authentication_log_output"></a>154.5.
Zookeeper Client Authentication Log Output</h3>
+<h3 id="_zookeeper_client_authentication_log_output"><a class="anchor" href="#_zookeeper_client_authentication_log_output"></a>154.5.
ZooKeeper Client Authentication Log Output</h3>
 <div class="paragraph">
-<p>On the Zookeeper client side (HBase master or regionserver), you should see something
similar to the following:</p>
+<p>On the ZooKeeper client side (HBase master or regionserver), you should see something
similar to the following:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -30103,7 +30177,7 @@ The following cheat sheet is included for your reference. More nuanced
and compr
 is available at <a href="http://asciidoctor.org/docs/user-manual/" class="bare">http://asciidoctor.org/docs/user-manual/</a>.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 12. AsciiDoc Cheat Sheet</caption>
+<caption class="title">Table 13. AsciiDoc Cheat Sheet</caption>
 <colgroup>
 <col style="width: 33%;">
 <col style="width: 33%;">
@@ -31154,7 +31228,7 @@ In case the table goes out of date, the unit tests which check for
accuracy of p
 </dl>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 13. ACL Matrix</caption>
+<caption class="title">Table 14. ACL Matrix</caption>
 <colgroup>
 <col style="width: 33%;">
 <col style="width: 33%;">
@@ -32616,7 +32690,7 @@ Note that the size of the trailer is different depending on the version,
so it i
 However, the version is always stored as the last four-byte integer in the file.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 14. Differences between HFile Versions 1 and 2</caption>
+<caption class="title">Table 15. Differences between HFile Versions 1 and 2</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -33398,7 +33472,7 @@ The server will return cellblocks compressed using this same compressor
as long
 <div id="footer">
 <div id="footer-text">
 Version 2.0.0-SNAPSHOT<br>
-Last updated 2016-04-28 14:31:37 UTC
+Last updated 2016-04-18 14:31:26 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/958717f4/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 1630cf0..8266c45 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160428" />
+    <meta name="Date-Revision-yyyymmdd" content="20160506" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -305,7 +305,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-04-28</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-05-06</li>
             </p>
                 </div>
 


Mime
View raw message