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/15 20:59:16 UTC

[accumulo-website] branch master updated: Created a 'Configuration Files' documentation page (#130)

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 d8d1c2b  Created a 'Configuration Files' documentation page (#130)
d8d1c2b is described below

commit d8d1c2b684ec76376fae0fdf5ce168758edea74e
Author: Mike Walch <mw...@apache.org>
AuthorDate: Thu Nov 15 15:59:12 2018 -0500

    Created a 'Configuration Files' documentation page (#130)
    
    * Contains information about each Accumulo configuration file
---
 _docs-2/administration/in-depth-install.md | 81 ++++++++++++++++------------
 _docs-2/configuration/client-properties.md |  2 +-
 _docs-2/configuration/files.md             | 86 ++++++++++++++++++++++++++++++
 _docs-2/configuration/overview.md          |  3 +-
 _docs-2/configuration/server-properties.md |  2 +-
 _docs-2/getting-started/clients.md         |  7 +--
 _docs-2/getting-started/quick-install.md   | 37 ++++++++-----
 7 files changed, 165 insertions(+), 53 deletions(-)

diff --git a/_docs-2/administration/in-depth-install.md b/_docs-2/administration/in-depth-install.md
index 5fbda56..e3d39bc 100644
--- a/_docs-2/administration/in-depth-install.md
+++ b/_docs-2/administration/in-depth-install.md
@@ -32,7 +32,7 @@ network bandwidth must be available between any two machines.
 
 In addition to needing access to ports associated with HDFS and ZooKeeper, Accumulo will
 use the following default ports. Please make sure that they are open, or change
-their value in accumulo.properties.
+their value in [accumulo.properties].
 
 |Port | Description | Property Name
 |-----|-------------|--------------
@@ -91,21 +91,21 @@ The Accumulo tarball contains a `conf/` directory where Accumulo looks for confi
 installed Accumulo using downstream packaging, the `conf/` could be something else like
 `/etc/accumulo/`.
 
-Before starting Accumulo, the configuration files `accumulo-env.sh` and `accumulo.properties` must
+Before starting Accumulo, the configuration files [accumulo-env.sh] and [accumulo.properties] must
 exist in `conf/` and be properly configured. If you are using `accumulo-cluster` to launch
-a cluster, the `conf/` directory must also contain hosts file for Accumulo services (i.e `gc`,
-`masters`, `monitor`, `tservers`, `tracers`). You can either create these files manually or run
+a cluster, the `conf/` directory must also contain host files for Accumulo services (i.e [gc],
+[masters], [monitor][monitor-host], [tservers], [tracers]). You can either create these files manually or run
 `accumulo-cluster create-config`.
 
-Logging is configured in `accumulo-env.sh` to use three log4j configuration files in `conf/`. The
+Logging is configured in [accumulo-env.sh] to use three log4j configuration files in `conf/`. The
 file used depends on the Accumulo command or service being run. Logging for most Accumulo services
-(i.e Master, TabletServer, Garbage Collector) is configured by `log4j-service.properties` except for
-the Monitor which is configured by `log4j-monitor.properties`. All Accumulo commands (i.e `init`,
-`shell`, etc) are configured by `log4j.properties`.
+(i.e Master, TabletServer, Garbage Collector) is configured by [log4j-service.properties] except for
+the Monitor which is configured by [log4j-monitor.properties]. All Accumulo commands (i.e `init`,
+`shell`, etc) are configured by [log4j.properties].
 
 ### Configure accumulo-env.sh
 
-Accumulo needs to know where to find the software it depends on. Edit accumulo-env.sh
+Accumulo needs to know where to find the software it depends on. Edit [accumulo-env.sh]
 and specify the following:
 
 1. Enter the location of Hadoop for `$HADOOP_HOME`
@@ -114,12 +114,12 @@ and specify the following:
 
 Accumulo uses `HADOOP_HOME` and `ZOOKEEPER_HOME` to locate Hadoop and Zookeeper jars
 and add them the `CLASSPATH` variable. If you are running a vendor-specific release of Hadoop
-or Zookeeper, you may need to change how your `CLASSPATH` is built in `accumulo-env.sh`. If
+or Zookeeper, you may need to change how your `CLASSPATH` is built in [accumulo-env.sh]. If
 Accumulo has problems later on finding jars, run `accumulo classpath -d` to debug and print
 Accumulo's classpath.
 
 You may want to change the default memory settings for Accumulo's TabletServer which are
-by set in the `JAVA_OPTS` settings for 'tservers' in `accumulo-env.sh`. Note the
+by set in the `JAVA_OPTS` settings for 'tservers' in [accumulo-env.sh]. Note the
 syntax is that of the Java JVM command line options. This value should be less than the
 physical memory of the machines running TabletServers.
 
@@ -128,7 +128,7 @@ process. Reduce these if they exceed the physical RAM of your hardware and
 increase them, within the bounds of the physical RAM, if a process fails because of
 insufficient memory.
 
-Note that you will be specifying the Java heap space in accumulo-env.sh. You should
+Note that you will be specifying the Java heap space in [accumulo-env.sh]. You should
 make sure that the total heap space used for the Accumulo tserver and the Hadoop
 DataNode and TaskTracker is less than the available memory on each worker node in
 the cluster. On large clusters, it is recommended that the Accumulo master, Hadoop
@@ -164,7 +164,7 @@ After building the native map from the source, you will find the artifact in
 in this directory for the map library. If the file is renamed or moved from its
 target directory, the tablet server may not be able to find it. The system can
 also locate the native maps shared library by setting `LD_LIBRARY_PATH`
-(or `DYLD_LIBRARY_PATH` on Mac OS X) in `accumulo-env.sh`.
+(or `DYLD_LIBRARY_PATH` on Mac OS X) in [accumulo-env.sh].
 
 #### Native Maps Configuration
 
@@ -201,8 +201,9 @@ performance to the write-ahead log file which will slow ingest.
 If you are using `accumulo-cluster` to start a cluster, configure the following on the
 machine that will serve as the Accumulo master:
 
-1. Write the IP address or domain name of the Accumulo Master to the `conf/masters` file.
-2. Write the IP addresses or domain name of the machines that will be TabletServers in `conf/tservers`, one per line.
+1. Run `accumulo-cluster create-config` to create the [masters] and [tservers] files.
+2. Write the IP address or domain name of the Accumulo Master to the [masters] file in `conf/`.
+3. Write the IP addresses or domain name of the machines that will be TabletServers to the [tservers] file in `conf/`, one per line.
 
 Note that if using domain names rather than IP addresses, DNS must be configured
 properly for all machines participating in the cluster. DNS can be a confusing source
@@ -210,12 +211,12 @@ of errors.
 
 ### Configure accumulo.properties
 
-Specify appropriate values for the following properties in `accumulo.properties`:
+Specify appropriate values for the following properties in [accumulo.properties]:
 
 * [instance.zookeeper.host] - Enables Accumulo to find ZooKeeper. Accumulo uses ZooKeeper
   to coordinate settings between processes and helps finalize TabletServer failure.
 * [instance.secret] - The instance needs a secret to enable secure communication between servers.
-  Configure your secret and make sure that the `accumulo.properties` file is not readable to other users.
+  Configure your secret and make sure that the [accumulo.properties] file is not readable to other users.
   For alternatives to storing the [instance.secret] in plaintext, please read the
   [Sensitive Configuration Values](#sensitive-configuration-values) section.
 
@@ -226,8 +227,8 @@ documentation for details.
 ### Hostnames in configuration files
 
 Accumulo has a number of configuration files which can contain references to other hosts in your
-network. All of the "host" configuration files for Accumulo (`gc`, `masters`, `tservers`, `monitor`,
-`tracers`) as well as `instance.volumes` in accumulo.properties must contain some host reference.
+network. All of the "host" configuration files for Accumulo ([gc], [masters], [tservers], [monitor][monitor-host],
+[tracers]) as well as [instance.volumes] in [accumulo.properties] must contain some host reference.
 
 While IP address, short hostnames, or fully qualified domain names (FQDN) are all technically valid, it
 is good practice to always use FQDNs for both Accumulo and other processes in your Hadoop cluster.
@@ -242,13 +243,13 @@ Accumulo identifies `localhost:8020` as a different HDFS instance than `127.0.0.
 
 ### Deploy Configuration
 
-Copy accumulo-env.sh and accumulo.properties from the `conf/` directory on the master to all Accumulo
+Copy [accumulo-env.sh] and [accumulo.properties] from the `conf/` directory on the master to all Accumulo
 tablet servers.  The "host" configuration files files `accumulo-cluster` only need to be on servers
 where that command is run.
 
 ### Sensitive Configuration Values
 
-Accumulo has a number of properties that can be specified via the accumulo.properties
+Accumulo has a number of properties that can be specified via the [accumulo.properties]
 file which are sensitive in nature, [instance.secret] and `trace.token.property.password`
 are two common examples. Both of these properties, if compromised, have the ability
 to result in data being leaked to users who should not have access to that data.
@@ -261,7 +262,7 @@ these classes, the feature will just be unavailable for use.
 
 A comma separated list of CredentialProviders can be configured using the Accumulo Property
 [general.security.credential.provider.paths]. Each configured URL will be consulted
-when the Configuration object for accumulo.properties is accessed.
+when the Configuration object for [accumulo.properties] is accessed.
 
 ### Using a JavaKeyStoreCredentialProvider for storage
 
@@ -275,7 +276,7 @@ The command will then prompt you to enter the secret to use and create a keystor
 
     /path/to/accumulo/conf/accumulo.jceks
 
-Then, `accumulo.properties` must be configured to use this KeyStore as a CredentialProvider:
+Then, [accumulo.properties] must be configured to use this KeyStore as a CredentialProvider:
 
 ```
 general.security.credential.provider.paths=jceks://file/path/to/accumulo/conf/accumulo.jceks
@@ -292,7 +293,7 @@ will expect the KeyStore in the same location.
 ### Client Configuration
 
 Accumulo clients are configured in a different way than Accumulo servers. [Accumulo clients
-are created][accumulo-client] using Java builder methods or a `accumulo-client.properties`
+are created][accumulo-client] using Java builder methods or a [accumulo-client.properties]
 file containing [client properties][client-props].
 
 ### Custom Table Tags
@@ -311,7 +312,7 @@ consideration. There is no enforcement of these warnings via the API.
 
 ### Configuring the ClassLoader
 
-Accumulo builds its Java classpath in `accumulo-env.sh`.  After an Accumulo application has started, it will load classes from the locations
+Accumulo builds its Java classpath in [accumulo-env.sh].  After an Accumulo application has started, it will load classes from the locations
 specified in the deprecated [general.classpaths] property. Additionally, Accumulo will load classes from the locations specified in the
 [general.dynamic.classpaths] property and will monitor and reload them if they change. The reloading feature is useful during the development
 and testing of iterators as new or modified iterator classes can be deployed to Accumulo without having to restart the database.
@@ -327,8 +328,8 @@ The Accumulo classpath can be viewed in human readable format by running `accumu
 ##### ClassLoader Contexts
 
 With the addition of the VFS based classloader, we introduced the notion of classloader contexts. A context is identified
-by a name and references a set of locations from which to load classes and can be specified in the accumulo.properties file or added
-using the `config` command in the shell. Below is an example for specify the app1 context in the accumulo.properties file:
+by a name and references a set of locations from which to load classes and can be specified in the [accumulo.properties] file or added
+using the `config` command in the shell. Below is an example for specify the app1 context in the [accumulo.properties] file:
 
 ```
 # Application A classpath, loads jars from HDFS and local file system
@@ -444,7 +445,7 @@ to be able to scale to using 10's of GB of RAM and 10's of CPU cores.
 Accumulo TabletServers bind certain ports on the host to accommodate remote procedure calls to/from
 other nodes. Running more than one TabletServer on a host requires that you set the environment variable
 `ACCUMULO_SERVICE_INSTANCE` to an instance number (i.e 1, 2) for each instance that is started. Also, set
-these properties in `accumulo.properties`:
+these properties in [accumulo.properties]:
 
 ```
 tserver.port.search=true
@@ -454,7 +455,7 @@ replication.receipt.service.port=0
 ## Logging
 
 Accumulo processes each write to a set of log files. By default, these logs are found at directory
-set by `ACCUMULO_LOG_DIR` in `accumulo-env.sh`.
+set by `ACCUMULO_LOG_DIR` in [accumulo-env.sh].
 
 ## Recovery
 
@@ -497,10 +498,10 @@ that the only volume displayed is the volume from the current namenode's HDFS UR
 
 After verifying the current volume is correct, shut down the cluster and transition HDFS to the HA nameservice.
 
-Edit `accumulo.properties` to notify accumulo that a volume is being replaced. First,
-add the new nameservice volume to the `instance.volumes` property. Next, add the
-`instance.volumes.replacements` property in the form of `old new`. It's important to not include
-the volume that's being replaced in `instance.volumes`, otherwise it's possible accumulo could continue
+Edit [accumulo.properties] to notify accumulo that a volume is being replaced. First,
+add the new nameservice volume to the [instance.volumes] property. Next, add the
+[instance.volumes.replacements] property in the form of `old new`. It's important to not include
+the volume that's being replaced in [instance.volumes], otherwise it's possible accumulo could continue
 to write to the volume.
 
 ```
@@ -667,6 +668,8 @@ mailing lists at https://accumulo.apache.org for more info.
 [quick]: {% durl getting-started/quick-install %}
 [monitor]: {% durl administration/monitoring-metrics#monitor %}
 [config-mgmt]: {% durl configuration/overview %}
+[instance.volumes]: {% purl instance.volumes %}
+[instance.volumes.replacements]: {% purl instance.volumes.replacements %}
 [instance.zookeeper.host]: {% purl instance.zookeeper.host %}
 [instance.secret]: {% purl instance.secret %}
 [monitor.port.log4j]: {% purl monitor.port.log4j %}
@@ -688,3 +691,15 @@ mailing lists at https://accumulo.apache.org for more info.
 [general.vfs.classpaths]: {% purl general.vfs.classpaths %}
 [accumulo-client]: {% durl getting-started/clients#creating-an-accumulo-client %}
 [client-props]: {% durl configuration/client-properties %}
+[accumulo-env.sh]: {% durl configuration/files#accumulo-envsh %}
+[accumulo.properties]: {% durl configuration/files#accumuloproperties %}
+[accumulo-client.properties]: {% durl configuration/files#accumulo-clientproperties %}
+[gc]: {% durl configuration/files#gc %}
+[master]: {% durl configuration/files#gc %}
+[monitor-host]: {% durl configuration/files#monitor %}
+[masters]: {% durl configuration/files#masters %}
+[tservers]: {% durl configuration/files#tservers %}
+[tracers]: {% durl configuration/files#tracers %}
+[log4j-service.properties]: {% durl configuration/files#log4j-serviceproperties %}
+[log4j-monitor.properties]: {% durl configuration/files#log4j-monitorproperties %}
+[log4j.properties]: {% durl configuration/files#log4jproperties %}
diff --git a/_docs-2/configuration/client-properties.md b/_docs-2/configuration/client-properties.md
index ac263c1..456f287 100644
--- a/_docs-2/configuration/client-properties.md
+++ b/_docs-2/configuration/client-properties.md
@@ -1,7 +1,7 @@
 ---
 title: Client Properties
 category: configuration
-order: 2
+order: 3
 ---
 
 <!-- WARNING: Do not edit this file. It is a generated file that is copied from Accumulo build (from core/target/generated-docs) -->
diff --git a/_docs-2/configuration/files.md b/_docs-2/configuration/files.md
new file mode 100644
index 0000000..820bdde
--- /dev/null
+++ b/_docs-2/configuration/files.md
@@ -0,0 +1,86 @@
+---
+title: Configuration Files
+category: configuration
+order: 2
+---
+
+Accumulo has the following configuration files which can be found in the
+`conf/` directory of the Accumulo release tarball.
+
+## accumulo.properties
+
+Configures Accumulo server processes using [server properties]({% durl configuration/server-properties %}).
+This file is needed on every host that runs Accumulo processes so any configuration should be replicated to
+all hosts of the Accumulo cluster. If a property is not configured here, it might have been
+[configured another way]({% durl configuration/overview %}).  See the [quick install] for help with configuring
+this file.
+
+## accumulo-client.properties
+
+Configures Accumulo client processes using [client properties]({% durl configuration/client-properties %}).
+If run `accumulo shell` without arguments, the Accumulo connection information in this file will be used.
+This file can be used to create an AccumuloClient in Java using the following code:
+
+```java
+AccumuloClient client = Accumulo.newClient()
+                           .from("/path/to/accumulo-client.properties").build();
+```
+
+See the [quick install] for help with configuring this file.
+
+## accumulo-env.sh
+
+Configures the Java classpath and JVM options needed to run Accumulo processes. See the [quick install]
+for help with configuring this file. 
+
+## Log configuration files
+
+### log4j-service.properties
+
+Configures logging for most Accumulo services (i.e [Master], [Tablet Server], [Garbage Collector]) except for the Monitor.
+
+### log4j-monitor.properties
+
+Configures logging for the [Monitor].
+
+### log4j.properties
+
+Configures logging for Accumulo commands (i.e `accumulo init`, `accumulo shell`, etc).
+
+## Host files
+
+The `accumulo-cluster` script uses the host files below to determine where Accumulo processes should be run.
+These files are not in `conf/` directory the Accumulo release tarball by default. They can be created by running
+the command `accumulo-cluster create-config`.
+
+### gc
+
+Contains a list of hosts where [Garbage Collector] processes should run. While only one host is needed, others can be specified
+to run standby Garbage Collectors that can take over if the lead Garbage Collector fails.
+
+### masters
+
+Contains a list of hosts where [Master] processes should run. While only one host needed, others can be specified
+to run on standby Masters that can take over if the lead Master fails.
+
+### monitor
+
+Contains a list of hosts where [Monitor] processes should run. While only one host is needed, others can be specified
+to run standby Monitors that can take over if the lead Monitor fails.
+
+### tservers
+
+Contains list of hosts where [Tablet Server] processes should run. While only one host is needed, it is recommended that
+multiple tablet servers are run for improved fault tolerance and peformance.
+
+### tracers
+
+Contains a list of hosts where [Tracer] processes should run. While only one host is needed, others can be specified
+to run standby Tracers that can take over if the lead Tracer fails.
+
+[Garbage Collector]: {% durl getting-started/design#garbage-collector %}
+[Master]: {% durl getting-started/design#master %}
+[Tablet Server]: {% durl getting-started/design#tablet-server %}
+[Monitor]: {% durl getting-started/design#monitor %}
+[Tracer]: {% durl getting-started/design#tracer %}
+[quick install]: {% durl getting-started/quick-install#configuring-accumulo %}
diff --git a/_docs-2/configuration/overview.md b/_docs-2/configuration/overview.md
index 12298bb..9092db6 100644
--- a/_docs-2/configuration/overview.md
+++ b/_docs-2/configuration/overview.md
@@ -9,7 +9,7 @@ Configuration is managed differently for Accumulo clients and servers.
 ## Client Configuration
 
 [Accumulo clients][accumulo-client] are created using a Java builder methods, Java properties containing
-[client properties][client-props], or an `accumulo-client.properties` file containing [client properties][client-props].
+[client properties][client-props], or an [accumulo-client.properties] file containing [client properties][client-props].
 
 ## Server Configuration
 
@@ -115,3 +115,4 @@ default  | table.failures.ignore ..................... | false
 [accumulo-client]: {% durl getting-started/clients#creating-an-accumulo-client %}
 [client-props]: {% durl configuration/client-properties %}
 [props]: {% durl configuration/server-properties %}
+[accumulo-client.properties]: {% durl configuration/files#accumulo-clientproperties %}
diff --git a/_docs-2/configuration/server-properties.md b/_docs-2/configuration/server-properties.md
index 7c706a8..26a767b 100644
--- a/_docs-2/configuration/server-properties.md
+++ b/_docs-2/configuration/server-properties.md
@@ -1,7 +1,7 @@
 ---
 title: Server Properties
 category: configuration
-order: 3
+order: 4
 ---
 
 <!-- WARNING: Do not edit this file. It is a generated file that is copied from Accumulo build (from core/target/generated-docs) -->
diff --git a/_docs-2/getting-started/clients.md b/_docs-2/getting-started/clients.md
index 19ae299..ba2b44f 100644
--- a/_docs-2/getting-started/clients.md
+++ b/_docs-2/getting-started/clients.md
@@ -31,7 +31,7 @@ Before creating an Accumulo client, you will need the following information:
 The [AccumuloClient] object is the main entry point for Accumulo clients. It can be created using one
 of the following methods:
 
-1. Using the `accumulo-client.properties` file (a template can be found in the `conf/` directory
+1. Using the [accumulo-client.properties] file (a template can be found in the `conf/` directory
    of the tarball distribution):
     ```java
     AccumuloClient client = Accumulo.newClient()
@@ -54,7 +54,7 @@ of the following methods:
     AccumuloClient client = Accumulo.newClient().from(props).build();
     ```
 
-If a `accumulo-client.properties` file or a Java Properties object is used to create a [AccumuloClient], the following
+If an [accumulo-client.properties] file or a Java Properties object is used to create a [AccumuloClient], the following
 [client properties][client-props] must be set:
 
 * [instance.name] - Name of Accumulo instance to connect to
@@ -197,7 +197,7 @@ Durability can be set in multiple ways:
 
 1. The default durability of a table can be set in the Accumulo shell
 2. When creating a [AccumuloClient], the default durability can be overridden using `withBatchWriterConfig()`
-   or by setting [batch.writer.durability] in `accumulo-client.properties`.
+   or by setting [batch.writer.durability] in [accumulo-client.properties].
 3. When a BatchWriter or ConditionalWriter is created, the durability settings above will be overridden
    by the `BatchWriterConfig` that is passed in.
 
@@ -375,3 +375,4 @@ This page covers Accumulo client basics.  Below are links to additional document
 [batch]: https://github.com/apache/accumulo-examples/blob/master/docs/batch.md
 [reservations]: https://github.com/apache/accumulo-examples/blob/master/docs/reservations.md
 [isolation]: https://github.com/apache/accumulo-examples/blob/master/docs/isolation.md
+[accumulo-client.properties]: {% durl configuration/files#accumulo-clientproperties %}
diff --git a/_docs-2/getting-started/quick-install.md b/_docs-2/getting-started/quick-install.md
index 6785d2b..329b906 100644
--- a/_docs-2/getting-started/quick-install.md
+++ b/_docs-2/getting-started/quick-install.md
@@ -31,10 +31,10 @@ For convenience, consider adding `accumulo-{{ page.latest_release }}/bin/` to yo
 Accumulo requires running [Zookeeper] and [HDFS] instances which should be set up
 before configuring Accumulo.
 
-The primary configuration files for Accumulo are `accumulo.properties`, `accumulo-env.sh`,
-and `accumulo-client.properties` which are located in the `conf/` directory.
+The primary configuration files for Accumulo are [accumulo.properties], [accumulo-env.sh],
+and [accumulo-client.properties] which are located in the `conf/` directory.
 
-The `accumulo.properties` file configures Accumulo server processes (i.e tablet server, master,
+The [accumulo.properties] file configures Accumulo server processes (i.e tablet server, master,
 monitor, etc). Follow these steps to set it up:
 
 1. Run `accumulo-util build-native` to build native code.  If this command fails, disable
@@ -49,19 +49,19 @@ monitor, etc). Follow these steps to set it up:
 4. (Optional) Change {% plink instance.secret %} (which is used by Accumulo processes to communicate)
    from the default. This value should match on all servers.
 
-The `accumulo-env.sh` file sets up environment variables needed by Accumulo:
+The [accumulo-env.sh] file sets up environment variables needed by Accumulo:
 
 1. Set `HADOOP_HOME` and `ZOOKEEPER_HOME` to the location of your Hadoop and Zookeeper
    installations. Accumulo will use these locations to find Hadoop and Zookeeper jars and add
    them to your `CLASSPATH` variable. If you you are running a vendor-specific release of
    Hadoop or Zookeeper, you may need to modify how the `CLASSPATH` variable is built in
-   `accumulo-env.sh`. If Accumulo has problems loading classes when you start it, run 
+   [accumulo-env.sh]. If Accumulo has problems loading classes when you start it, run 
    `accumulo classpath -d` to debug and print Accumulo's classpath.
 
 2. Accumulo tablet servers are configured by default to use 1GB of memory (768MB is allocated to
    JVM and 256MB is allocated for native maps). Native maps are allocated memory equal to 33% of
    the tserver JVM heap. The table below can be used if you would like to change tserver memory
-   usage in the `JAVA_OPTS` section of `accumulo-env.sh`:
+   usage in the `JAVA_OPTS` section of [accumulo-env.sh]:
 
     | Native? | 512MB             | 1GB               | 2GB                 | 3GB           |
     |---------|-------------------|-------------------|---------------------|---------------|
@@ -69,9 +69,9 @@ The `accumulo-env.sh` file sets up environment variables needed by Accumulo:
     | No      | -Xmx512m -Xms512m | -Xmx1g -Xms1g     | -Xmx2g -Xms2g       | -Xmx3g -Xms3g |
 
 3. (Optional) Review the memory settings for the Accumulo master, garbage collector, and monitor
-   in the `JAVA_OPTS` section of `accumulo-env.sh`.
+   in the `JAVA_OPTS` section of [accumulo-env.sh].
 
-The `accumulo-client.properties` file is used by the Accumulo shell and can be passed to Accumulo
+The [accumulo-client.properties] file is used by the Accumulo shell and can be passed to Accumulo
 clients to simplify connecting to Accumulo. Below are steps to configure it.
 
 1. Set {% plink -c instance.name %} and {% plink -c instance.zookeepers %} to the Accumulo instance and zookeeper connection
@@ -135,7 +135,7 @@ to be created. Use the command below to create them:
 
     accumulo-cluster create-config
 
-This creates five files (`masters`, `gc`, `monitor`, `tservers`, & `tracers`)
+This creates five files ([masters], [gc], [monitor], [tservers], & [tracers])
 in the `conf/` directory that contain the node names where Accumulo services
 are run on your cluster. By default, all files are configured to `localhost`. If
 you are running a single-node Accumulo cluster, theses files do not need to be
@@ -146,14 +146,14 @@ changed and the next section should be skipped.
 If you are running an Accumulo cluster on multiple nodes, the following files
 in `conf/` should be configured with a newline separated list of node names:
 
- * `masters` : Accumulo primary coordinating process. Must specify one node. Can
+ * [masters] : Accumulo primary coordinating process. Must specify one node. Can
                specify a few for fault tolerance.
- * `gc`      : Accumulo garbage collector. Must specify one node. Can specify a
+ * [gc]      : Accumulo garbage collector. Must specify one node. Can specify a
                few for fault tolerance.
- * `monitor` : Node where Accumulo monitoring web server is run.
- * `tservers`: Accumulo worker processes. List all of the nodes where tablet servers
+ * [monitor] : Node where Accumulo monitoring web server is run.
+ * [tservers] : Accumulo worker processes. List all of the nodes where tablet servers
                should run in this file.
- * `tracers` : Optional capability. Can specify zero or more nodes. 
+ * [tracers] : Optional capability. Can specify zero or more nodes. 
 
 The Accumulo, Hadoop, and Zookeeper software should be present at the same
 location on every node. Also the files in the `conf` directory must be copied
@@ -196,3 +196,12 @@ When finished, use the following commands to stop Accumulo:
 [pdcp]: https://code.google.com/p/pdsh/
 [prsync]: https://code.google.com/p/parallel-ssh/
 [pwl]: https://www.google.com/search?q=hadoop+passwordless+ssh&ie=utf-8&oe=utf-8
+[accumulo-env.sh]: {% durl configuration/files#accumulo-envsh %}
+[accumulo.properties]: {% durl configuration/files#accumuloproperties %}
+[accumulo-client.properties]: {% durl configuration/files#accumulo-clientproperties %}
+[gc]: {% durl configuration/files#gc %}
+[master]: {% durl configuration/files#gc %}
+[monitor]: {% durl configuration/files#monitor %}
+[masters]: {% durl configuration/files#masters %}
+[tservers]: {% durl configuration/files#tservers %}
+[tracers]: {% durl configuration/files#tracers %}