You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by mw...@apache.org on 2018/11/19 21:17:06 UTC

[accumulo-website] branch master updated: Refactored configuration overview (#132)

This is an automated email from the ASF dual-hosted git repository.

mwalch pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 6e7943f  Refactored configuration overview (#132)
6e7943f is described below

commit 6e7943f886a299938e41461c6752dade80b3d7a2
Author: Mike Walch <mw...@apache.org>
AuthorDate: Mon Nov 19 16:17:01 2018 -0500

    Refactored configuration overview (#132)
---
 _docs-2/configuration/overview.md              | 78 ++++++++++++++++----------
 _docs-2/getting-started/table_configuration.md |  6 +-
 2 files changed, 51 insertions(+), 33 deletions(-)

diff --git a/_docs-2/configuration/overview.md b/_docs-2/configuration/overview.md
index c48686b..c0977e1 100644
--- a/_docs-2/configuration/overview.md
+++ b/_docs-2/configuration/overview.md
@@ -13,61 +13,78 @@ Configuration is managed differently for Accumulo clients and servers.
 
 ## Server Configuration
 
-Accumulo services (i.e master, tablet server, monitor, etc) are configured by [server properties] whose values can be
-set in the following locations (with increasing precedence):
+Accumulo processes (i.e master, tablet server, monitor, etc) are configured by [server properties] whose values can be
+set in the following configuration locations (with increasing precedence) that are described in detail below:
 
-1. Default values
-2. [accumulo.properties] (overrides defaults)
-3. Zookeeper (overrides [accumulo.properties] & defaults)
+1. [Default](#default) - All properties have a default value
+2. [Site](#site) - Properties set in [accumulo.properties]
+3. [System](#system) - Properties set using shell or Java API that apply to entire Accumulo instance
+4. [Namespace](#namespace) - Table properties set using shell or Java API that apply to a table namespace
+5. [Table](#table) - Table properties set using shell or Java API that apply to a table.
 
-If a property is set in multiple locations, the value in the location with the highest precedence is used. 
+If a property is set in multiple locations, the value in the location with the highest precedence is used.
 
-The configuration locations above are described in detail below.
+These configuration locations are described in detail below:
 
-### Default values
+### Default
 
 All [server properties] have a default value. Default values are set in the source code and can be viewed for each property on the [server properties] page.
 While default values have the lowest precedence, they are usually optimal.  However, there are cases where a change can increase query and ingest performance.
 
-### accumulo.properties
+### Site
 
-Setting [server properties] in [accumulo.properties] will override their default value. If you are running Accumulo on a cluster, any updates to accumulo.properties must
-be synced across the cluster. Accumulo processes (master, tserver, etc) read their local [accumulo.properties] on start up so processes must be restarted to apply changes.
-Certain properties can only be set in accumulo.properties. These properties have **zk mutable: no** in their description. Setting properties in accumulo.properties allows you
-to configure tablet servers with different settings.
+Site configuration refers to [server properties] set in the [accumulo.properties] file. Site configuration will override the default value of a property. If you are
+running Accumulo on a cluster, any updates to accumulo.properties must be synced across the cluster. Accumulo processes (master, tserver, etc) read their local [accumulo.properties]
+on start up so processes must be restarted to apply changes. Certain properties can only be set in accumulo.properties. These properties have **zk mutable: no** in their description.
+Setting properties in accumulo.properties allows you to configure tablet servers with different settings.
 
-### Zookeeper
-
-Many [server properties] can be set in Zookeeper using the Accumulo API or shell. These properties can identified by **zk mutable: yes** in their description on
-the [server properties] page. Zookeeper properties can be applied on a per-table or system-wide basis. Per-table properties take precedence over system-wide
-properties. While most properties set in Zookeeper take effect immediately, some require a restart of the process which is indicated in **zk mutable** section
-of their description.
+Site configuration can be overriden when starting an Accumulo process on the command line (by using the `-o` option):
+```
+accumulo tserver -o instance.secret=mysecret -o instance.zookeeper.host=localhost:2181
+```
+Overriding properties is useful if you can't change [accumulo.properties]. It's done when [running Accumulo using Docker](https://github.com/apache/accumulo-docker).
 
-#### Zookeeper System properties
+### System
 
-System properties consist of all [server properties] with **zk mutable: yes** in their description. They are set with the following shell command:
+System configuration refers to [server properties] set for the entire Accumulo instance/cluster. These settings are stored in ZooKeeper and can identified by **zk mutable: yes**
+in their description on the [server properties] page. System configuration will override any site configuration set in [accumulo.properties]. While most system configuration
+settings take effect immediately, some require a restart of the process which is indicated in the **zk mutable** section of their description. System configuration can be set using
+the following shell command:
 
     config -s PROPERTY=VALUE
 
-If a {% plink table.* %} property is set using this method, the value will apply to all tables except those configured on per-table basis (which have higher precedence).
+They can also be set using {% jlink org.apache.accumulo.core.client.admin.InstanceOperations %} in the Java API:
 
-#### Zookeeper Table properties
-
-Table properties consist of all properties with the {% plink table.* %} prefix.
+```java
+client.instanceOperations().setProperty("table.durability", "flush");
+```
 
-Table properties are configured for a table namespace (i.e group of tables) or on a per-table basis.
+### Namespace
 
-To configure a table property for a namespace, use the following command:
+Namespace configuration refers to [table.* properties] set for a certain table namespace (i.e group of tables). These settings are stored in ZooKeeper. Namespace configuration
+will override System configuration and can be set using the following shell command:
 
     config -ns NAMESPACE -s PROPERTY=VALUE
 
-To configure a table property for a specific table, use the following command:
+It can also be set using {% jlink org.apache.accumulo.core.client.admin.NamespaceOperations %} in the Java API:
+
+```java
+client.namespaceOperations().setProperty("mynamespace", "table.durability", "sync");
+```
+
+### Table
+
+Table configuration refers to [table.* properties] set for a certain table. These settings are stored in ZooKeeper and can be set using the following shell command:
 
     config -t TABLE -s PROPERTY=VALUE
 
-Per-table settings take precedent over table namespace settings.  Both take precedent over system properties.
+They can also be set using {% jlink org.apache.accumulo.core.client.admin.TableOperations %} in the Java API:
+
+```java
+client.tableOperations().setProperty("mytable", "table.durability", "log");
+```
 
-#### Zookeeper Considerations
+### Zookeeper Considerations
 
 Any [server properties] that are set in Zookeeper should consider the limitations of Zookeeper itself with respect to the
 number of nodes and the size of the node data. Custom table properties and options for Iterators configured on tables
@@ -113,5 +130,6 @@ default  | table.failures.ignore ..................... | false
 [accumulo-client]: {% durl getting-started/clients#creating-an-accumulo-client %}
 [client properties]: {% durl configuration/client-properties %}
 [server properties]: {% durl configuration/server-properties %}
+[table.* properties]: {% purl table.* %}
 [accumulo-client.properties]: {% durl configuration/files#accumulo-clientproperties %}
 [accumulo.properties]: {% durl configuration/files#accumuloproperties %}
diff --git a/_docs-2/getting-started/table_configuration.md b/_docs-2/getting-started/table_configuration.md
index df6156f..027dc86 100644
--- a/_docs-2/getting-started/table_configuration.md
+++ b/_docs-2/getting-started/table_configuration.md
@@ -7,8 +7,8 @@ order: 7
 Accumulo tables have a few options that can be configured to alter the default
 behavior of Accumulo as well as improve performance based on the data stored.
 These include locality groups, constraints, bloom filters, iterators, and block
-cache.  See the [configuration properties documentation][config-properties] for
-a complete list of available configuration options.
+cache.  See the [server properties] documentation for a complete list of available
+configuration options.
 
 ## Locality Groups
 
@@ -713,7 +713,7 @@ preserved.
 [combiner-example]: https://github.com/apache/accumulo-examples/blob/master/docs/combiner.md
 [filter]: {% jurl org.apache.accumulo.core.iterators.Filter %}
 [table.majc.compaction.strategy]: {% purl table.majc.compaction.strategy %}
-[config-properties]: {% durl configuration/server-properties %}
+[server properties]: {% durl configuration/server-properties %}
 [Scanner]: {% jurl org.apache.accumulo.core.client.Scanner %}
 [BatchScanner]: {% jurl org.apache.accumulo.core.client.BatchScanner %}
 [Caching]: {% durl administration/caching %}