kudu-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mpe...@apache.org
Subject [48/51] [abbrv] [partial] kudu-site git commit: Publish commit(s) from site source repo: d78c4ca Update website for 1.7.0 release c9969cd Update download URLs 160e66c Fix broken doc guide link 8a2d8b9 Update the latest committers 188c57d site_t
Date Thu, 22 Mar 2018 16:12:37 GMT
http://git-wip-us.apache.org/repos/asf/kudu-site/blob/e9ed1525/docs/command_line_tools_reference.html
----------------------------------------------------------------------
diff --git a/docs/command_line_tools_reference.html b/docs/command_line_tools_reference.html
index c946000..57bb8cd 100644
--- a/docs/command_line_tools_reference.html
+++ b/docs/command_line_tools_reference.html
@@ -135,15 +135,18 @@ limitations under the License.
 <div class="ulist">
 <ul>
 <li>
-<p><a href="#fs-update_dirs">update_dirs</a></p>
-</li>
-<li>
 <p><a href="#fs-check">check</a></p>
 </li>
 <li>
 <p><a href="#fs-format">format</a></p>
 </li>
 <li>
+<p><a href="#fs-list">list</a></p>
+</li>
+<li>
+<p><a href="#fs-update_dirs">update_dirs</a></p>
+</li>
+<li>
 <p><a href="#fs-dump">dump</a></p>
 <div class="ulist">
 <ul>
@@ -483,11 +486,10 @@ limitations under the License.
 <p><br></p>
 </div>
 <div class="sect3">
-<h4 id="fs-update_dirs"><a class="link" href="#fs-update_dirs"><code>update_dirs</code>: Updates the set of data directories in an existing Kudu filesystem&#160;</a></h4>
+<h4 id="fs-check"><a class="link" href="#fs-check"><code>check</code>: Check a Kudu filesystem for inconsistencies&#160;</a></h4>
 <div class="paragraph">
-<p>Cannot currently be used to remove data directories<br>
-<strong>Usage:</strong><br>
-<code>kudu fs update_dirs [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<p><strong>Usage:</strong><br>
+<code>kudu fs check [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-repair]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -508,17 +510,83 @@ limitations under the License.
 </thead>
 <tbody>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">repair (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repair any inconsistencies in the filesystem.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="fs-format"><a class="link" href="#fs-format"><code>format</code>: Format a new Kudu filesystem&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs format [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The uuid to use in the filesystem. If not provided, one is generated</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
 </tbody>
 </table>
 <div class="paragraph">
@@ -526,10 +594,14 @@ limitations under the License.
 </div>
 </div>
 <div class="sect3">
-<h4 id="fs-check"><a class="link" href="#fs-check"><code>check</code>: Check a Kudu filesystem for inconsistencies&#160;</a></h4>
+<h4 id="fs-list"><a class="link" href="#fs-list"><code>list</code>: List metadata for on-disk tablets, rowsets, blocks, and cfiles&#160;</a></h4>
 <div class="paragraph">
-<p><strong>Usage:</strong><br>
-<code>kudu fs check [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-repair]</code>
+<p>This tool is useful for discovering and gathering information about on-disk data. Many field types can be added to the results with the --columns flag, and results can be filtered to a specific table, tablet, rowset, column, or block through flags.</p>
+</div>
+<div class="paragraph">
+<p>Note: adding any of the 'cfile' fields to --columns will cause the tool to read on-disk metadata for each CFile in the result set, which could require large amounts of I/O when many results are returned.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs list [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-table_id=&lt;id&gt;] [-tablet_id=&lt;id&gt;] [-rowset_id=&lt;id&gt;] [-column_id=&lt;id&gt;] [-block_id=&lt;id&gt;] [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-noh]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -550,22 +622,72 @@ limitations under the License.
 </thead>
 <tbody>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">repair (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Repair any inconsistencies in the filesystem.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific tablet</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rowset_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific rowset</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific block</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of fields to include in output.
+Possible values: table, table-id, tablet-id, partition, rowset-id, block-id, block-kind, column, column-id, cfile-data-type, cfile-nullable, cfile-encoding, cfile-compression, cfile-num-values, cfile-size, cfile-incompatible-features, cfile-compatible-features, cfile-min-key, cfile-max-key, cfile-delta-stats</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>tablet-id, rowset-id, block-id, block-kind</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">h (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pretty-print values in human-readable units</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
 </tr>
 </tbody>
 </table>
@@ -574,10 +696,11 @@ limitations under the License.
 </div>
 </div>
 <div class="sect3">
-<h4 id="fs-format"><a class="link" href="#fs-format"><code>format</code>: Format a new Kudu filesystem&#160;</a></h4>
+<h4 id="fs-update_dirs"><a class="link" href="#fs-update_dirs"><code>update_dirs</code>: Updates the set of data directories in an existing Kudu filesystem&#160;</a></h4>
 <div class="paragraph">
-<p><strong>Usage:</strong><br>
-<code>kudu fs format [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-uuid=&lt;uuid&gt;]</code>
+<p>If a data directory is in use by a tablet and is removed, the operation will fail unless --force is also used<br>
+<strong>Usage:</strong><br>
+<code>kudu fs update_dirs [-force] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -598,10 +721,10 @@ limitations under the License.
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, permits the removal of a data directory that is configured for use by existing tablets. Those tablets will fail the next time the server is started</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
@@ -610,8 +733,14 @@ limitations under the License.
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">uuid (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The uuid to use in the filesystem. If not provided, one is generated</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -631,7 +760,7 @@ limitations under the License.
 <div class="paragraph">
 <p>This performs no parsing or interpretation of the data stored in the block but rather outputs its binary contents directly.<br>
 <strong>Usage:</strong><br>
-<code>kudu fs dump block &lt;block_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu fs dump block &lt;block_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -658,14 +787,20 @@ limitations under the License.
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -680,7 +815,7 @@ limitations under the License.
 <div class="paragraph">
 <p>This interprets the contents of a CFile-formatted block and outputs the decoded row data.<br>
 <strong>Usage:</strong><br>
-<code>kudu fs dump cfile &lt;block_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-noprint_meta] [-noprint_rows]</code>
+<code>kudu fs dump cfile &lt;block_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-noprint_meta] [-noprint_rows]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -707,14 +842,20 @@ limitations under the License.
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -740,7 +881,7 @@ limitations under the License.
 <h5 id="dump-tree"><a class="link" href="#dump-tree"><code>tree</code>: Dump the tree of a Kudu filesystem&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu fs dump tree [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu fs dump tree [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -761,14 +902,20 @@ limitations under the License.
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -782,7 +929,7 @@ limitations under the License.
 <h5 id="dump-uuid"><a class="link" href="#dump-uuid"><code>uuid</code>: Dump the UUID of a Kudu filesystem&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu fs dump uuid [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu fs dump uuid [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -803,14 +950,20 @@ limitations under the License.
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -831,7 +984,7 @@ limitations under the License.
 <h4 id="local_replica-copy_from_remote"><a class="link" href="#local_replica-copy_from_remote"><code>copy_from_remote</code>: Copy a tablet replica from a remote server&#160;</a></h4>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica copy_from_remote &lt;tablet_id&gt; &lt;source&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu local_replica copy_from_remote &lt;tablet_id&gt; &lt;source&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -864,14 +1017,20 @@ limitations under the License.
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -885,7 +1044,7 @@ limitations under the License.
 <h4 id="local_replica-data_size"><a class="link" href="#local_replica-data_size"><code>data_size</code>: Summarize the data size/space usage of the given local replica(s).&#160;</a></h4>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica data_size &lt;tablet_id_pattern&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-format=&lt;format&gt;]</code>
+<code>kudu local_replica data_size &lt;tablet_id_pattern&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-format=&lt;format&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -912,14 +1071,20 @@ limitations under the License.
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -940,7 +1105,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h4 id="local_replica-delete"><a class="link" href="#local_replica-delete"><code>delete</code>: Delete a tablet replica from the local filesystem. By default, leaves a tombstone record.&#160;</a></h4>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica delete &lt;tablet_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-clean_unsafe]</code>
+<code>kudu local_replica delete &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-clean_unsafe]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -967,14 +1132,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -994,7 +1165,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h4 id="local_replica-list"><a class="link" href="#local_replica-list"><code>list</code>: Show list of tablet replicas in the local filesystem&#160;</a></h4>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica list [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-list_detail]</code>
+<code>kudu local_replica list [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-list_detail]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1015,14 +1186,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1047,7 +1224,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="cmeta-print_replica_uuids"><a class="link" href="#cmeta-print_replica_uuids"><code>print_replica_uuids</code>: Print all tablet replica peer UUIDs found in a tablet&#8217;s Raft configuration&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica cmeta print_replica_uuids &lt;tablet_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu local_replica cmeta print_replica_uuids &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1074,14 +1251,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1095,7 +1278,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="cmeta-rewrite_raft_config"><a class="link" href="#cmeta-rewrite_raft_config"><code>rewrite_raft_config</code>: Rewrite a tablet replica&#8217;s Raft configuration&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica cmeta rewrite_raft_config &lt;tablet_id&gt; &lt;peers&gt;&#8230;&#8203; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu local_replica cmeta rewrite_raft_config &lt;tablet_id&gt; &lt;peers&gt;&#8230;&#8203; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1128,14 +1311,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1149,7 +1338,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="cmeta-set_term"><a class="link" href="#cmeta-set_term"><code>set_term</code>: Bump the current term stored in consensus metadata&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica cmeta set_term &lt;tablet_id&gt; &lt;term&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu local_replica cmeta set_term &lt;tablet_id&gt; &lt;term&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1182,14 +1371,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1209,7 +1404,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="dump-block_ids"><a class="link" href="#dump-block_ids"><code>block_ids</code>: Dump the IDs of all blocks belonging to a local replica&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica dump block_ids &lt;tablet_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu local_replica dump block_ids &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1236,14 +1431,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1257,7 +1458,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="dump-meta"><a class="link" href="#dump-meta"><code>meta</code>: Dump the metadata of a local replica&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica dump meta &lt;tablet_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;]</code>
+<code>kudu local_replica dump meta &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1284,14 +1485,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1305,7 +1512,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="dump-rowset"><a class="link" href="#dump-rowset"><code>rowset</code>: Dump the rowset contents of a local replica&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica dump rowset &lt;tablet_id&gt; [-dump_data] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-metadata_only] [-nrows=&lt;nrows&gt;] [-rowset_index=&lt;index&gt;]</code>
+<code>kudu local_replica dump rowset &lt;tablet_id&gt; [-dump_data] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-metadata_only] [-nrows=&lt;nrows&gt;] [-rowset_index=&lt;index&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1338,14 +1545,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -1377,7 +1590,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <h5 id="dump-wals"><a class="link" href="#dump-wals"><code>wals</code>: Dump all WAL (write-ahead log) segments of a local replica&#160;</a></h5>
 <div class="paragraph">
 <p><strong>Usage:</strong><br>
-<code>kudu local_replica dump wals &lt;tablet_id&gt; [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-print_entries=&lt;entries&gt;] [-noprint_meta] [-truncate_data=&lt;data&gt;]</code>
+<code>kudu local_replica dump wals &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-print_entries=&lt;entries&gt;] [-noprint_meta] [-truncate_data=&lt;data&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -1404,14 +1617,20 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
 </tr>
@@ -2092,7 +2311,10 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 <div class="sect3">
 <h4 id="remote_replica-unsafe_change_config"><a class="link" href="#remote_replica-unsafe_change_config"><code>unsafe_change_config</code>: Force the specified replica to adopt a new Raft config&#160;</a></h4>
 <div class="paragraph">
-<p>The members of the new Raft config must be a subset of (or the same as) the members of the existing committed Raft config on that replica.<br>
+<p>This tool is useful when a config change is necessary because a tablet cannot make progress with its current Raft configuration (e.g. to evict followers when a majority is unavailable).</p>
+</div>
+<div class="paragraph">
+<p>Note: The members of the new Raft config must be a subset of (or the same as) the members of the existing committed Raft config.<br>
 <strong>Usage:</strong><br>
 <code>kudu remote_replica unsafe_change_config &lt;tserver_address&gt; &lt;tablet_id&gt; &lt;peer uuids&gt;&#8230;&#8203;</code>
 <br>
@@ -2885,7 +3107,7 @@ Possible values: pretty, space, tsv, csv, and json</p></td>
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-12-07 19:52:46 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2018-03-21 12:34:58 CDT 
         </p>
       </footer>
     </div>

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/e9ed1525/docs/configuration.html
----------------------------------------------------------------------
diff --git a/docs/configuration.html b/docs/configuration.html
index 6c328bc..3a62c15 100644
--- a/docs/configuration.html
+++ b/docs/configuration.html
@@ -173,16 +173,22 @@ maintained in future releases.</p>
 <div class="paragraph">
 <p>Every Kudu node requires the specification of directory flags. The
 <code>--fs_wal_dir</code> configuration indicates where Kudu will place its write-ahead
-logs. It is recommended, although not necessary, that this directory is placed
-on a high-performance drive (one with high bandwidth and low latency, e.g. a
-solid-state drive). The <code>--fs_data_dirs</code> configuration indicates where Kudu
-will write its data blocks. This is a comma-separated list of directories; if
-multiple are specified, data will be striped across the directories. Kudu will
-also place metadata for each tablet in the first specified directory. If not
-specified, data blocks will be placed in the directory specified by
-<code>--fs_wal_dir</code>. Additionally, <code>--fs_wal_dir</code> may be the same as <em>one of</em> the
-directories listed in <code>--fs_data_dirs</code>, but must not be a sub-directory of any
-of them.</p>
+logs. The <code>--fs_metadata_dir</code> configuration indicates where Kudu will place
+metadata for each tablet. It is recommended, although not necessary, that these
+directories be placed on a high-performance drives with high bandwidth and low
+latency, e.g. solid-state drives. If <code>--fs_metadata_dir</code> is not specified,
+metadata will be placed in the directory specified by <code>--fs_wal_dir</code>.</p>
+</div>
+<div class="paragraph">
+<p>The <code>--fs_data_dirs</code> configuration indicates where Kudu will write its data
+blocks. This is a comma-separated list of directories; if multiple values are
+specified, data will be striped across the directories. If not specified, data
+blocks will be placed in the directory specified by <code>--fs_wal_dir</code>.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, <code>--fs_wal_dir</code> and <code>--fs_metadata_dir</code> may be the same as <em>one
+of</em> the directories listed in <code>--fs_data_dirs</code>, but must not be sub-directories
+of any of them.</p>
 </div>
 <div class="admonitionblock warning">
 <table>
@@ -191,9 +197,22 @@ of them.</p>
 <i class="fa icon-warning" title="Warning"></i>
 </td>
 <td class="content">
-Once these flags are set, they are difficult to change, often requiring
-the entire node to be rebuilt. For more details, see the
-<a href="administration.html#change_dir_config">Kudu Administration docs</a>.
+Once <code>--fs_data_dirs</code> is set, extra tooling is required to change it.
+For more details, see the <a href="administration.html#change_dir_config">Kudu
+Administration docs</a>.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The <code>--fs_wal_dir</code> and <code>--fs_metadata_dir</code> configurations can be changed,
+provided the contents of the directories are also moved to match the flags.
 </td>
 </tr>
 </table>
@@ -241,6 +260,12 @@ addresses for Master consensus-configuration. If not specified, assumes a standa
 <td class="tableblock halign-left valign-top"><p class="tableblock">List of directories where the Master will place its data blocks.</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--fs_metadata_dir</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory where the Master will place its tablet metadata.</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>--fs_wal_dir</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"></td>
@@ -294,6 +319,12 @@ run it with the <code>--help</code> option:</p>
 <td class="tableblock halign-left valign-top"><p class="tableblock">List of directories where the Tablet Server will place its data blocks.</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--fs_metadata_dir</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory where the Tablet Server will place its tablet metadata.</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">--fs_wal_dir</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"></td>
@@ -445,7 +476,7 @@ do not read this flag.</p></td>
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-12-01 23:44:25 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2018-03-17 09:37:29 CDT 
         </p>
       </footer>
     </div>


Mime
View raw message