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 2017/02/28 18:21:58 UTC

[2/2] accumulo git commit: ACCUMULO-4588 Simplify Accumulo logging configuration

ACCUMULO-4588 Simplify Accumulo logging configuration

* Removed log4j config being done in Java but some remains
* Logging is now configured using standard log4j JVM property
  'log4.configuration' in accumulo-env.sh
* Tarball ships with less log4j config files (3 rather than 6)
  which are all log4j properties files.
* Log4j XML can still be used by editing accumulo-env.sh
* Moved AsyncSocketAppend to start module due to classpath issues
* Removed auditLog.xml and added audit log configuration to
  log4j-service properties files
* Accumulo conf/ directory no longer has an examples/ directory.
  Configuration files ship in conf/ and are used by default.
* Accumulo monitor by default will bind to 0.0.0.0 but will
  advertise hostname looked up in Java for log forwarding
* Shortened names of logging system properties
* Removed MonitorLoggingIT as it is now difficult to setup log
  forwarding using MiniAccumuloCluster.
* Switched to use full hostnames rather than short hostnames for logging


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/61245293
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/61245293
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/61245293

Branch: refs/heads/master
Commit: 61245293ab9506cd94175c20f947932b7295eeb9
Parents: b91ff70
Author: Mike Walch <mw...@apache.org>
Authored: Wed Feb 22 15:38:33 2017 -0500
Committer: Mike Walch <mw...@apache.org>
Committed: Tue Feb 28 12:45:26 2017 -0500

----------------------------------------------------------------------
 INSTALL.md                                      |  15 +-
 assemble/bin/accumulo                           |  10 +-
 assemble/bin/accumulo-service                   |  30 +---
 assemble/bin/accumulo-util                      |   6 +-
 assemble/conf/accumulo-metrics.xml              |  60 +++++++
 assemble/conf/client.conf                       |  20 +++
 assemble/conf/examples/accumulo-metrics.xml     |  60 -------
 assemble/conf/examples/auditLog.xml             |  35 ----
 assemble/conf/examples/client.conf              |  20 ---
 .../conf/examples/generic_logger.properties     |  56 ------
 assemble/conf/examples/generic_logger.xml       |  83 ---------
 .../hadoop-metrics2-accumulo.properties         |  86 ---------
 assemble/conf/examples/log4j.properties         |  42 -----
 .../conf/examples/monitor_logger.properties     |  44 -----
 assemble/conf/examples/monitor_logger.xml       |  64 -------
 .../conf/examples/templates/accumulo-env.sh     |  64 -------
 .../conf/examples/templates/accumulo-site.xml   | 175 -------------------
 .../conf/hadoop-metrics2-accumulo.properties    |  86 +++++++++
 assemble/conf/log4j-monitor.properties          |  38 ++++
 assemble/conf/log4j-service.properties          |  55 ++++++
 assemble/conf/log4j.properties                  |  34 ++++
 assemble/conf/templates/accumulo-env.sh         |  85 +++++++++
 assemble/conf/templates/accumulo-site.xml       | 175 +++++++++++++++++++
 assemble/src/main/assemblies/component.xml      |  10 +-
 .../accumulo/core/util/AsyncSocketAppender.java | 111 ------------
 .../core/util/AsyncSocketAppenderTest.java      |  83 ---------
 .../main/asciidoc/chapters/administration.txt   |  34 ++--
 docs/src/main/asciidoc/chapters/kerberos.txt    |   4 +-
 .../impl/MiniAccumuloClusterImpl.java           |   9 -
 minicluster/src/main/resources/auditLog.xml     |  41 -----
 .../org/apache/accumulo/server/Accumulo.java    |  72 ++------
 .../security/AuditedSecurityOperation.java      |   2 +-
 .../server/watcher/Log4jConfiguration.java      |   8 -
 .../server/watcher/MonitorLog4jWatcher.java     |   4 +-
 .../apache/accumulo/server/AccumuloTest.java    |  53 ------
 .../accumulo/gc/SimpleGarbageCollector.java     |   1 -
 .../java/org/apache/accumulo/master/Master.java |   1 -
 .../org/apache/accumulo/monitor/Monitor.java    |  22 ++-
 .../org/apache/accumulo/tracer/TraceServer.java |   1 -
 .../apache/accumulo/tserver/TabletServer.java   |   1 -
 .../start/util/AsyncSocketAppender.java         | 111 ++++++++++++
 .../start/util/AsyncSocketAppenderTest.java     |  78 +++++++++
 .../apache/accumulo/test/AuditMessageIT.java    |   4 -
 .../test/functional/MonitorLoggingIT.java       | 121 -------------
 test/src/main/resources/conf/generic_logger.xml |  83 ---------
 test/src/main/resources/conf/monitor_logger.xml |  64 -------
 46 files changed, 805 insertions(+), 1456 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/INSTALL.md
----------------------------------------------------------------------
diff --git a/INSTALL.md b/INSTALL.md
index 6e924c4..f3d5873 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -46,22 +46,23 @@ with the following command.
 
 If the command fails, its OK to continue with setup and resolve the issue later.
 
-Run the command below to create configuration for Accumulo in `conf/`:
+Accumulo is configured by the files +accumulo-site.xml+ and +accumulo-env.sh+ in the `conf/`
+directory. You can either edit these files for your environment or run the command below which will
+overwrite them with files configured for your environment.
 
     accumulo-util create-config
 
 The script will ask you questions about your set up. Below are some suggestions:
 
-* When the script asks about memory-map type, choose Native if the build native script 
+* When the script asks about memory-map type, choose Native if the build native script
   was successful. Otherwise, choose Java.
 * The script will prompt for memory usage. Please note that the footprints are
   only for the Accumulo system processes, so ample space should be left for other
   processes like Hadoop, Zookeeper, and the Accumulo client code.  If Accumulo
   worker processes are swapped out and unresponsive, they may be killed.
 
-After the `accumulo-util create-config` command is run, the `conf/` directory will contain
-`accumulo-env.sh`, `accumulo-site.xml`, and few a additional files. These files require
-a few edits before starting Accumulo.
+While `accumulo-util create-config` creates  `accumulo-env.sh` and `accumulo-site.xml` files
+targeted for your environment, these files still require a few more edits before starting Accumulo.
 
 ### Secret
 
@@ -83,7 +84,7 @@ must be provided.
    `accumulo-site.xml`.  If your namenode is running at 192.168.1.9:9000
    and you want to store data in `/accumulo` in HDFS, then set
   `instance.volumes` to `hdfs://192.168.1.9:9000/accumulo`.
- * **Location of Zoookeeper and Hadoop jars** :  Setting `ZOOKEEPER_HOME` and
+ * **Location of Zookeeper and Hadoop jars** :  Setting `ZOOKEEPER_HOME` and
    `HADOOP_PREFIX` in `accumulo-env.sh` will help Accumulo find these jars
    when using the default setting for `general.classpaths` in accumulo-site.xml.
 
@@ -143,7 +144,7 @@ changed and the next section should be skipped.
 #### Multi-node configuration
 
 If you are running an Accumulo cluster on multiple nodes, the following files
-in `conf/` should be configured with a newline seperated list of node names:
+in `conf/` should be configured with a newline separated list of node names:
 
  * `masters` : Accumulo primary coordinating process. Must specify one node. Can
                specify a few for fault tolerance.

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/bin/accumulo
----------------------------------------------------------------------
diff --git a/assemble/bin/accumulo b/assemble/bin/accumulo
index f530e3c..275075b 100755
--- a/assemble/bin/accumulo
+++ b/assemble/bin/accumulo
@@ -53,7 +53,7 @@ function main() {
   fi
   if [[ ! -f $conf/accumulo-env.sh || ! -f $conf/accumulo-site.xml ]]; then
     echo "The configuration files 'accumulo-env.sh' & 'accumulo-site.xml' must exist in $conf"
-    echo "Copy them from $conf/examples and edit them for your environment."
+    echo "Run 'accumulo-util create-config' to create them and edit them for your environment."
     exit 1
   fi
   source "$conf/accumulo-env.sh"
@@ -79,14 +79,6 @@ function main() {
     export JAVA_OPTS=("${JAVA_OPTS[@]}" "-Djava.security.krb5.conf=${conf}/krb5.conf")
   fi
 
-  if [[ ! "$ACCUMULO_CMD" =~ ^(gc|master|monitor|tserver|tracer)$ ]]; then
-    if [[ -f ${conf}/log4j.properties ]]; then
-      export JAVA_OPTS=("${JAVA_OPTS[@]}" "-Dlog4j.configuration=file:${conf}/log4j.properties")
-    else
-      export JAVA_OPTS=("${JAVA_OPTS[@]}" "-Dlog4j.configuration=file:${conf}/examples/log4j.properties")
-    fi
-  fi
-
   # This is default for hadoop 2.x; for another distribution, specify (DY)LD_LIBRARY_PATH explicitly above
   if [ -e "${HADOOP_PREFIX}/lib/native/libhadoop.so" ]; then
     export LD_LIBRARY_PATH="${HADOOP_PREFIX}/lib/native:${LD_LIBRARY_PATH}"     # For Linux

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/bin/accumulo-service
----------------------------------------------------------------------
diff --git a/assemble/bin/accumulo-service b/assemble/bin/accumulo-service
index c9b0a17..d1e12fa 100755
--- a/assemble/bin/accumulo-service
+++ b/assemble/bin/accumulo-service
@@ -41,20 +41,6 @@ function invalid_args {
   exit 1
 }
 
-function get_host {
-  host="$(hostname -f)"
-  if [ "$1" == "-s" ]; then
-    host="$(hostname -s)"
-  fi
-  if [[ -z "$host" ]]; then
-    host=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/')
-    if [[ $? != 0 ]]; then
-      host=$(getent ahosts "$(hostname -f)" | grep DGRAM | cut -f 1 -d ' ')
-    fi
-  fi 
-  echo "$host"
-}
-
 function rotate_log () {
   logfile="$1"
   max_retained="5"
@@ -69,8 +55,6 @@ function rotate_log () {
 }
 
 function start_service() {
-  host="$(get_host -s)"
-
   if [ -f "$pid_file" ]; then
     pid=$(cat "$pid_file")
     if kill -0 "$pid" 2>/dev/null; then
@@ -89,12 +73,6 @@ function start_service() {
   rotate_log "$outfile"
   rotate_log "$errfile"
 
-  export ACCUMULO_MONITOR_BIND_ALL=${ACCUMULO_MONITOR_BIND_ALL:-"true"}
-  extra_args=""
-  if [[ $service == "monitor" && $ACCUMULO_MONITOR_BIND_ALL == "true" ]]; then
-    extra_args=('--address' '0.0.0.0')
-  fi
-
   nohup "${bin}/accumulo" "$service" "${extra_args[@]}" >"$outfile" 2>"$errfile" < /dev/null &
   echo "$!" > "${pid_file}"
 
@@ -110,7 +88,7 @@ function start_service() {
 
 function stop_service() {
   if [ -f "$pid_file" ]; then
-    echo "Stopping $service on $(get_host -s)";
+    echo "Stopping $service on $host";
     kill -s TERM "$(cat "$pid_file")" 2>/dev/null
     rm -f "${pid_file}" 2>/dev/null
   fi
@@ -118,7 +96,7 @@ function stop_service() {
 
 function kill_service() {
   if [ -f "$pid_file" ]; then
-    echo "Killing $service on $(get_host -s)";
+    echo "Killing $service on $host";
     kill -s KILL "$(cat "$pid_file")" 2>/dev/null
     rm -f "${pid_file}" 2>/dev/null
   fi
@@ -148,6 +126,10 @@ function main() {
   mkdir -p "$ACCUMULO_LOG_DIR" 2>/dev/null
   mkdir -p "${basedir}/run" 2>/dev/null
 
+  host="$(hostname)"
+  if [[ -z "$host" ]]; then
+    host=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/')
+  fi 
   service="$1"
   pid_file="${basedir}/run/accumulo-${service}.pid"
   case "$service" in

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/bin/accumulo-util
----------------------------------------------------------------------
diff --git a/assemble/bin/accumulo-util b/assemble/bin/accumulo-util
index 55e89bd..25dc907 100755
--- a/assemble/bin/accumulo-util
+++ b/assemble/bin/accumulo-util
@@ -46,7 +46,7 @@ EOF
 }
 
 function create_config() {
-  TEMPLATE_CONF_DIR="${conf}/examples/templates"
+  TEMPLATE_CONF_DIR="${conf}/templates"
   CONF_DIR="${conf}"
   ACCUMULO_SITE=accumulo-site.xml
   ACCUMULO_ENV=accumulo-env.sh
@@ -300,10 +300,6 @@ function create_config() {
 
   mkdir -p "${CONF_DIR}" && cp "${TEMPLATE_CONF_DIR}"/* "${CONF_DIR}"/
 
-  if [[ -f "${CONF_DIR}/examples/client.conf" ]]; then
-    cp "${CONF_DIR}"/examples/client.conf "${CONF_DIR}"/
-  fi
-
   #Configure accumulo-env.sh
   sed -e "s/\${tServerHigh_tServerLow}/${!TSERVER}/" \
     -e "s/\${masterHigh_masterLow}/${!MASTER}/" \

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/accumulo-metrics.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/accumulo-metrics.xml b/assemble/conf/accumulo-metrics.xml
new file mode 100644
index 0000000..24228eb
--- /dev/null
+++ b/assemble/conf/accumulo-metrics.xml
@@ -0,0 +1,60 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!--
+  This file follows the conventions for XMLConfiguration files specified in the Apache Commons Configuration 1.5 Library. Changes to this file will be noticed
+  at runtime (see the FileChangedReloadingStrategy class in Commons Configuration).
+-->
+<config>
+<!--
+   Metrics log directory
+-->
+  <logging>
+    <dir>${ACCUMULO_LOG_DIR}/metrics</dir>
+  </logging>
+<!--
+ Enable/Disable metrics accumulation on the different servers and their components
+ NOTE: Turning on logging can be expensive because it will use several more file handles and will create a lot of short lived objects.
+-->
+  <master>
+    <enabled type="boolean">false</enabled>
+    <logging type="boolean">false</logging>
+  </master>
+  <tserver>
+    <enabled type="boolean">false</enabled>
+    <logging type="boolean">false</logging>
+    <update>
+      <enabled type="boolean">false</enabled>
+      <logging type="boolean">false</logging>
+    </update>
+    <scan>
+      <enabled type="boolean">false</enabled>
+      <logging type="boolean">false</logging>
+    </scan>
+    <minc>
+      <enabled type="boolean">false</enabled>
+      <logging type="boolean">false</logging>
+    </minc>
+  </tserver>
+  <thrift>
+    <enabled type="boolean">false</enabled>
+    <logging type="boolean">false</logging>
+  </thrift>
+  <replication>
+    <enabled type="boolean">false</enabled>
+    <logging type="boolean">false</logging>
+  </replication>
+</config>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/client.conf
----------------------------------------------------------------------
diff --git a/assemble/conf/client.conf b/assemble/conf/client.conf
new file mode 100644
index 0000000..5256b13
--- /dev/null
+++ b/assemble/conf/client.conf
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# instance.zookeeper.host=localhost:2181
+# instance.rpc.ssl.enabled=false
+
+# instance.rcp.sasl.enabled=false
+# rpc.sasl.qop=auth

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/accumulo-metrics.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/accumulo-metrics.xml b/assemble/conf/examples/accumulo-metrics.xml
deleted file mode 100644
index 24228eb..0000000
--- a/assemble/conf/examples/accumulo-metrics.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!--
-  This file follows the conventions for XMLConfiguration files specified in the Apache Commons Configuration 1.5 Library. Changes to this file will be noticed
-  at runtime (see the FileChangedReloadingStrategy class in Commons Configuration).
--->
-<config>
-<!--
-   Metrics log directory
--->
-  <logging>
-    <dir>${ACCUMULO_LOG_DIR}/metrics</dir>
-  </logging>
-<!--
- Enable/Disable metrics accumulation on the different servers and their components
- NOTE: Turning on logging can be expensive because it will use several more file handles and will create a lot of short lived objects.
--->
-  <master>
-    <enabled type="boolean">false</enabled>
-    <logging type="boolean">false</logging>
-  </master>
-  <tserver>
-    <enabled type="boolean">false</enabled>
-    <logging type="boolean">false</logging>
-    <update>
-      <enabled type="boolean">false</enabled>
-      <logging type="boolean">false</logging>
-    </update>
-    <scan>
-      <enabled type="boolean">false</enabled>
-      <logging type="boolean">false</logging>
-    </scan>
-    <minc>
-      <enabled type="boolean">false</enabled>
-      <logging type="boolean">false</logging>
-    </minc>
-  </tserver>
-  <thrift>
-    <enabled type="boolean">false</enabled>
-    <logging type="boolean">false</logging>
-  </thrift>
-  <replication>
-    <enabled type="boolean">false</enabled>
-    <logging type="boolean">false</logging>
-  </replication>
-</config>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/auditLog.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/auditLog.xml b/assemble/conf/examples/auditLog.xml
deleted file mode 100644
index 9111811..0000000
--- a/assemble/conf/examples/auditLog.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
-    <!--  Write out Audit info to an Audit file -->
-    <appender name="Audit" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File"           value="${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.ip.localhost.hostname}.audit"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS/Z} [%c{2}] %-5p: %m%n"/>
-        </layout>
-    </appender>
-    <logger name="Audit"  additivity="false">
-        <appender-ref ref="Audit" />
-        <level value="OFF"/>
-    </logger>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/client.conf
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/client.conf b/assemble/conf/examples/client.conf
deleted file mode 100644
index 5256b13..0000000
--- a/assemble/conf/examples/client.conf
+++ /dev/null
@@ -1,20 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# instance.zookeeper.host=localhost:2181
-# instance.rpc.ssl.enabled=false
-
-# instance.rcp.sasl.enabled=false
-# rpc.sasl.qop=auth

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/generic_logger.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/generic_logger.properties b/assemble/conf/examples/generic_logger.properties
deleted file mode 100644
index b4db23a..0000000
--- a/assemble/conf/examples/generic_logger.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Write out everything at the DEBUG level to the debug log
-log4j.appender.A2=org.apache.log4j.RollingFileAppender
-log4j.appender.A2.File=${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}${accumulo.service.instance}_${org.apache.accumulo.core.ip.localhost.hostname}_fromprops.debug.log
-log4j.appender.A2.MaxFileSize=1000MB
-log4j.appender.A2.MaxBackupIndex=10
-log4j.appender.A2.Threshold=DEBUG
-log4j.appender.A2.layout=org.apache.log4j.PatternLayout
-log4j.appender.A2.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
-
-# Write out INFO and higher to the regular log
-log4j.appender.A3=org.apache.log4j.RollingFileAppender
-log4j.appender.A3.File=${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}${accumulo.service.instance}_${org.apache.accumulo.core.ip.localhost.hostname}_fromprops.log
-log4j.appender.A3.MaxFileSize=1000MB
-log4j.appender.A3.MaxBackupIndex=10
-log4j.appender.A3.Threshold=INFO
-log4j.appender.A3.layout=org.apache.log4j.PatternLayout
-log4j.appender.A3.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
-
-# Send all logging data to a centralized logger
-# If the centralized logger is down, buffer the log events, but drop them if it stays down
-log4j.appender.ASYNC=org.apache.accumulo.core.util.AsyncSocketAppender
-log4j.appender.ASYNC.RemoteHost=${org.apache.accumulo.core.host.log}
-log4j.appender.ASYNC.Port=${org.apache.accumulo.core.host.log.port}
-log4j.appender.ASYNC.Application=${org.apache.accumulo.core.application}${accumulo.service.instance}:${org.apache.accumulo.core.ip.localhost.hostname}
-log4j.appender.ASYNC.Threshold=WARN
-
-# Log accumulo events to the debug, normal and remote logs.
-log4j.logger.org.apache.accumulo=DEBUG, A2, A3, ASYNC
-log4j.additivity.org.apache.accumulo=false
-
-# change to INFO for authorization events
-log4j.logger.org.apache.accumulo.server.security.Auditor=WARN
-
-log4j.logger.org.apache.accumulo.core.file.rfile.bcfile=INFO
-
-log4j.logger.org.mortbay.log=WARN
-
-log4j.logger.com.yahoo.zookeeper=ERROR
-
-# Log non-accumulo events to the debug and normal logs
-log4j.rootLogger=INFO, A2, A3

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/generic_logger.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/generic_logger.xml b/assemble/conf/examples/generic_logger.xml
deleted file mode 100644
index 23a1598..0000000
--- a/assemble/conf/examples/generic_logger.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
-  <!-- Write out everything at the DEBUG level to the debug log -->
-  <appender name="A2" class="org.apache.log4j.RollingFileAppender">
-     <param name="File"           value="${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}${accumulo.service.instance}_${org.apache.accumulo.core.ip.localhost.hostname}.debug.log"/>
-     <param name="MaxFileSize"    value="1000MB"/>
-     <param name="MaxBackupIndex" value="10"/>
-     <param name="Threshold"      value="DEBUG"/>
-     <layout class="org.apache.log4j.PatternLayout">
-       <param name="ConversionPattern" value="%d{ISO8601} [%-8c{2}] %-5p: %m%n"/>
-     </layout>
-  </appender>
-
-  <!--  Write out INFO and higher to the regular log -->
-  <appender name="A3" class="org.apache.log4j.RollingFileAppender">
-     <param name="File"           value="${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}${accumulo.service.instance}_${org.apache.accumulo.core.ip.localhost.hostname}.log"/>
-     <param name="MaxFileSize"    value="1000MB"/>
-     <param name="MaxBackupIndex" value="10"/>
-     <param name="Threshold"      value="INFO"/>
-     <layout class="org.apache.log4j.PatternLayout">
-       <param name="ConversionPattern" value="%d{ISO8601} [%-8c{2}] %-5p: %m%n"/>
-     </layout>
-  </appender>
-
-  <!-- Send all logging data to a centralized logger -->
-  <appender name="N1" class="org.apache.log4j.net.SocketAppender">
-     <param name="remoteHost"     value="${org.apache.accumulo.core.host.log}"/>
-     <param name="port"           value="${org.apache.accumulo.core.host.log.port}"/>
-     <param name="application"    value="${org.apache.accumulo.core.application}${accumulo.service.instance}:${org.apache.accumulo.core.ip.localhost.hostname}"/>
-     <param name="Threshold"      value="WARN"/>
-  </appender>
-
-  <!--  If the centralized logger is down, buffer the log events, but drop them if it stays down -->
-  <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
-     <appender-ref ref="N1" />
-  </appender>
-
-  <!-- Log accumulo events to the debug, normal and remote logs. -->
-  <logger name="org.apache.accumulo" additivity="false">
-     <level value="DEBUG"/>
-     <appender-ref ref="A2" />
-     <appender-ref ref="A3" />
-     <appender-ref ref="ASYNC" />
-  </logger>
-
-  <logger name="org.apache.accumulo.core.file.rfile.bcfile">
-     <level value="INFO"/>
-  </logger>
-
-  <logger name="org.mortbay.log">
-     <level value="WARN"/>
-  </logger>
-
-  <logger name="org.apache.zookeeper">
-     <level value="ERROR"/>
-  </logger>
-
-  <!-- Log non-accumulo events to the debug and normal logs. -->
-  <root>
-     <level value="INFO"/>
-     <appender-ref ref="A2" />
-     <appender-ref ref="A3" />
-  </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/hadoop-metrics2-accumulo.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/hadoop-metrics2-accumulo.properties b/assemble/conf/examples/hadoop-metrics2-accumulo.properties
deleted file mode 100644
index 7e3c7c0..0000000
--- a/assemble/conf/examples/hadoop-metrics2-accumulo.properties
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Poll collectors every ten seconds
-*.period=10
-
-#
-# MetricSink configuration
-# 
-# Uncomment a sink (and configuration) to enable it. By default,
-# no sinks are enabled.
-#
-
-#
-# Configure file logging
-#
-
-# File sink for all metrics
-# accumulo.sink.file-all.class=org.apache.hadoop.metrics2.sink.FileSink
-# accumulo.sink.file-all.filename=all.metrics
-
-# File sink for tserver metrics
-# accumulo.sink.file-tserver.class=org.apache.hadoop.metrics2.sink.FileSink
-# accumulo.sink.file-tserver.context=tserver
-# accumulo.sink.file-tserver.filename=tserver.metrics
-
-# File sink for master metrics
-# accumulo.sink.file-master.class=org.apache.hadoop.metrics2.sink.FileSink
-# accumulo.sink.file-master.context=master
-# accumulo.sink.file-master.filename=master.metrics
-
-# File sink for thrift server metrics
-# accumulo.sink.file-thrift.class=org.apache.hadoop.metrics2.sink.FileSink
-# accumulo.sink.file-thrift.context=thrift
-# accumulo.sink.file-thrift.filename=thrift.metrics
-
-#
-# Configure Graphite
-#
-
-# Configure all sources to be written to a Graphite instance
-# accumulo.sink.graphite.class=org.apache.hadoop.metrics2.sink.GraphiteSink
-# accumulo.sink.graphite.server_host=localhost
-# accumulo.sink.graphite.server_port=2003
-
-#
-# Configure Ganglia
-#
-
-# for Ganglia 3.0 support
-# accumulo.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink30
-
-# for Ganglia 3.1 support
-# accumulo.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
-
-# accumulo.sink.ganglia.period=10
-
-# default for supportsparse is false
-# accumulo.sink.ganglia.supportsparse=true
-
-# accumulo.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
-# accumulo.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
-
-# Tag values to use for the ganglia prefix. If not defined no tags are used.
-# If '*' all tags are used. If specifiying multiple tags separate them with
-# commas. Note that the last segment of the property name is the context name.
-#
-# accumulo.sink.ganglia.tagsForPrefix.jvm=ProcesName
-# accumulo.sink.ganglia.tagsForPrefix.tserver=
-# accumulo.sink.ganglia.tagsForPrefix.master=
-# accumulo.sink.ganglia.tagsForPrefix.thrift=
-
-# Ganglia host(s)
-# accumulo.sink.ganglia.servers=yourgangliahost_1:8649,yourgangliahost_2:8649

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/log4j.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/log4j.properties b/assemble/conf/examples/log4j.properties
deleted file mode 100644
index 9858795..0000000
--- a/assemble/conf/examples/log4j.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# default logging properties:
-#  by default, log everything at INFO or higher to the console
-log4j.rootLogger=INFO,A1
-
-# hide Jetty junk
-log4j.logger.org.mortbay.log=WARN,A1
-
-# hide "Got brand-new compressor" messages
-log4j.logger.org.apache.hadoop.io.compress=WARN,A1
-log4j.logger.org.apache.accumulo.core.file.rfile.bcfile.Compression=WARN,A1
-
-# hide junk from TestRandomDeletes
-log4j.logger.org.apache.accumulo.test.TestRandomDeletes=WARN,A1
-
-# hide junk from VFS
-log4j.logger.org.apache.commons.vfs2.impl.DefaultFileSystemManager=WARN,A1
-
-# hide almost everything from zookeeper
-log4j.logger.org.apache.zookeeper=ERROR,A1
-
-# hide AUDIT messages in the shell, alternatively you could send them to a different logger
-log4j.logger.org.apache.accumulo.shell.Shell.audit=WARN,A1
-
-# Send most things to the console
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/monitor_logger.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/monitor_logger.properties b/assemble/conf/examples/monitor_logger.properties
deleted file mode 100644
index 4dada2d..0000000
--- a/assemble/conf/examples/monitor_logger.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Write out everything at the DEBUG level to the debug log
-log4j.appender.A2=org.apache.log4j.RollingFileAppender
-log4j.appender.A2.File=${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}_${org.apache.accumulo.core.ip.localhost.hostname}_fromprops.debug.log
-log4j.appender.A2.MaxFileSize=100MB
-log4j.appender.A2.MaxBackupIndex=10
-log4j.appender.A2.Threshold=DEBUG
-log4j.appender.A2.layout=org.apache.log4j.PatternLayout
-log4j.appender.A2.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %X{application} %m%n
-
-# Write out INFO and higher to the regular log
-log4j.appender.A3=org.apache.log4j.RollingFileAppender
-log4j.appender.A3.File=${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}_${org.apache.accumulo.core.ip.localhost.hostname}_fromprops.log
-log4j.appender.A3.MaxFileSize=100MB
-log4j.appender.A3.MaxBackupIndex=10
-log4j.appender.A3.Threshold=INFO
-log4j.appender.A3.layout=org.apache.log4j.PatternLayout
-log4j.appender.A3.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %X{application} %m%n
-
-# Keep the last few log messages for display to the user
-log4j.appender.GUI=org.apache.accumulo.server.monitor.LogService
-log4j.appender.GUI.Keep=50
-log4j.appender.GUI.Threshold=WARN
-
-# Log accumulo messages to debug, normal and GUI
-log4j.logger.org.apache.accumulo=DEBUG, A2, A3, GUI
-log4j.additivity.org.apache.accumulo=false
-
-# Log non-accumulo messages to debug, normal logs.
-log4j.rootLogger=INFO, A2, A3

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/monitor_logger.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/monitor_logger.xml b/assemble/conf/examples/monitor_logger.xml
deleted file mode 100644
index 91a7671..0000000
--- a/assemble/conf/examples/monitor_logger.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
-  <!-- Write out everything at the DEBUG level to the debug log -->
-  <appender name="A2" class="org.apache.log4j.RollingFileAppender">
-     <param name="File"           value="${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}_${org.apache.accumulo.core.ip.localhost.hostname}.debug.log"/>
-     <param name="MaxFileSize"    value="100MB"/>
-     <param name="MaxBackupIndex" value="10"/>
-     <param name="Threshold"      value="DEBUG"/>
-     <layout class="org.apache.log4j.PatternLayout">
-       <param name="ConversionPattern" value="%d{ISO8601} [%-8c{2}] %-5p: %X{application} %m%n"/>
-     </layout>
-  </appender>
-
-  <!--  Write out INFO and higher to the regular log -->
-  <appender name="A3" class="org.apache.log4j.RollingFileAppender">
-     <param name="File"           value="${org.apache.accumulo.core.dir.log}/${org.apache.accumulo.core.application}_${org.apache.accumulo.core.ip.localhost.hostname}.log"/>
-     <param name="MaxFileSize"    value="100MB"/>
-     <param name="MaxBackupIndex" value="10"/>
-     <param name="Threshold"      value="INFO"/>
-     <layout class="org.apache.log4j.PatternLayout">
-       <param name="ConversionPattern" value="%d{ISO8601} [%-8c{2}] %-5p: %X{application} %m%n"/>
-     </layout>
-  </appender>
-
-  <!-- Keep the last few log messages for display to the user -->
-  <appender name="GUI" class="org.apache.accumulo.server.monitor.LogService">
-     <param name="keep"           value="40"/>
-     <param name="Threshold"      value="WARN"/>
-  </appender>
-
-  <!-- Log accumulo messages to debug, normal and GUI -->
-  <logger name="org.apache.accumulo" additivity="false">
-     <level value="DEBUG"/>
-     <appender-ref ref="A2" />
-     <appender-ref ref="A3" />
-     <appender-ref ref="GUI" />
-  </logger>
-
-  <!-- Log non-accumulo messages to debug, normal logs. -->
-  <root>
-     <level value="INFO"/>
-     <appender-ref ref="A2" />
-     <appender-ref ref="A3" />
-  </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/templates/accumulo-env.sh
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/templates/accumulo-env.sh b/assemble/conf/examples/templates/accumulo-env.sh
deleted file mode 100644
index e6a360c..0000000
--- a/assemble/conf/examples/templates/accumulo-env.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#! /usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-## Before accumulo-env.sh is loaded, these environment variables are set and can be used in this file:
-
-# ACCUMULO_CMD - Command that is being called such as tserver, master, etc.
-# ACCUMULO_HOME - Root directory of Accumulo installation
-# ACCUMULO_CONF_DIR - Directory containing Accumulo configuration
-
-############################
-# Variables that must be set
-############################
-
-## JVM options set for all processes. Extra options can be passed in by setting ACCUMULO_JAVA_OPTS to an array of options.
-JAVA_OPTS=("${ACCUMULO_JAVA_OPTS[@]}" '-XX:+UseConcMarkSweepGC' '-XX:CMSInitiatingOccupancyFraction=75' '-XX:+CMSClassUnloadingEnabled'
-'-XX:OnOutOfMemoryError=kill -9 %p' '-XX:-OmitStackTraceInFastThrow' '-Djava.net.preferIPv4Stack=true' 
-'-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl')
-
-## JVM options set for individual applications
-case "$ACCUMULO_CMD" in
-master)  JAVA_OPTS=("${JAVA_OPTS[@]}" ${masterHigh_masterLow}) ;;
-gc)      JAVA_OPTS=("${JAVA_OPTS[@]}" ${gcHigh_gcLow}) ;;
-tserver) JAVA_OPTS=("${JAVA_OPTS[@]}" ${tServerHigh_tServerLow}) ;;
-monitor) JAVA_OPTS=("${JAVA_OPTS[@]}" ${monitorHigh_monitorLow}) ;;
-shell)   JAVA_OPTS=("${JAVA_OPTS[@]}" ${shellHigh_shellLow}) ;;
-*)       JAVA_OPTS=("${JAVA_OPTS[@]}" ${otherHigh_otherLow}) ;;
-esac
-export JAVA_OPTS
-
-## Accumulo logs directory. Referenced by logger config.
-export ACCUMULO_LOG_DIR="${ACCUMULO_LOG_DIR:-$ACCUMULO_HOME/logs}"
-## Hadoop installation
-export HADOOP_PREFIX="${HADOOP_PREFIX:-/path/to/hadoop}"
-## Hadoop configuration
-export HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-${HADOOP_PREFIX}/etc/hadoop}"
-## Zookeeper installation
-export ZOOKEEPER_HOME="${ZOOKEEPER_HOME:-/path/to/zookeeper}"
-## See HADOOP-7154 and ACCUMULO-847
-export MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-1}
-
-###############################################
-# Variables that are optional. Uncomment to set
-###############################################
-
-## Specifies command that will be placed before calls to Java in accumulo script
-# export ACCUMULO_JAVA_PREFIX=""
-## Optionally look for hadoop and accumulo native libraries for your platform in additional
-## directories. (Use DYLD_LIBRARY_PATH on Mac OS X.) May not be necessary for Hadoop 2.x or
-## using an RPM that installs to the correct system library directory.
-# export LD_LIBRARY_PATH=${HADOOP_PREFIX}/lib/native/${PLATFORM}:${LD_LIBRARY_PATH}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/examples/templates/accumulo-site.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/templates/accumulo-site.xml b/assemble/conf/examples/templates/accumulo-site.xml
deleted file mode 100644
index a1f4153..0000000
--- a/assemble/conf/examples/templates/accumulo-site.xml
+++ /dev/null
@@ -1,175 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-
-<configuration>
-  <!-- This is the main configuration file for Apache Accumulo. Available configuration properties
-    (and their default values) can be found in the user manual (docs/accumulo_user_manual.html). -->
-  <property>
-    <name>instance.volumes</name>
-    <value></value>
-    <description>comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo</description>
-  </property>
-
-  <property>
-    <name>instance.zookeeper.host</name>
-    <value>localhost:2181</value>
-    <description>comma separated list of zookeeper servers</description>
-  </property>
-
-  <property>
-    <name>instance.secret</name>
-    <value>DEFAULT</value>
-    <description>A secret unique to a given instance that all servers must know in order to communicate with one another.
-      Change it before initialization. To
-      change it later use ./bin/accumulo org.apache.accumulo.server.util.ChangeSecret --old [oldpasswd] --new [newpasswd],
-      and then update this file.
-    </description>
-  </property>
-
-  <property>
-    <name>tserver.memory.maps.max</name>
-    <value>${memMapMax}</value>
-  </property>
-
-  <property>
-    <name>tserver.memory.maps.native.enabled</name>
-    <value>${nativeEnabled}</value>
-  </property>
-
-  <property>
-    <name>tserver.cache.data.size</name>
-    <value>${cacheDataSize}</value>
-  </property>
-
-  <property>
-    <name>tserver.cache.index.size</name>
-    <value>${cacheIndexSize}</value>
-  </property>
-
-  <property>
-    <name>trace.token.property.password</name>
-    <!-- change this to the root user's password, and/or change the user below -->
-    <value>secret</value>
-  </property>
-
-  <!-- Kerberos requirements -->
-  <property>
-    <name>instance.rpc.sasl.enabled</name>
-    <value>true</value>
-  </property>
-
-  <property>
-    <name>general.kerberos.keytab</name>
-    <value>${keytab}</value>
-  </property>
-
-  <property>
-    <name>general.kerberos.principal</name>
-    <value>${principal}</value>
-  </property>
-
-  <property>
-    <name>trace.token.type</name>
-    <value>org.apache.accumulo.core.client.security.tokens.KerberosToken</value>
-  </property>
-
-  <property>
-    <name>instance.security.authenticator</name>
-    <value>org.apache.accumulo.server.security.handler.KerberosAuthenticator</value>
-  </property>
-
-  <property>
-    <name>instance.security.authorizor</name>
-    <value>org.apache.accumulo.server.security.handler.KerberosAuthorizor</value>
-  </property>
-
-  <property>
-    <name>instance.security.permissionHandler</name>
-    <value>org.apache.accumulo.server.security.handler.KerberosPermissionHandler</value>
-  </property>
-  <!-- End Kerberos requirements -->
-
-  <property>
-    <name>trace.user</name>
-    <value>${traceUser}</value>
-  </property>
-
-  <property>
-    <name>tserver.sort.buffer.size</name>
-    <value>${sortBufferSize}</value>
-  </property>
-
-  <property>
-    <name>tserver.walog.max.size</name>
-    <value>${waLogMaxSize}</value>
-  </property>
-${mvnProjBaseDir}
-  <property>
-    <name>general.classpaths</name>
-
-    <value>
-      <!-- Accumulo requirements -->
-      $ACCUMULO_HOME/lib/accumulo-server.jar,
-      $ACCUMULO_HOME/lib/accumulo-core.jar,
-      $ACCUMULO_HOME/lib/accumulo-start.jar,
-      $ACCUMULO_HOME/lib/accumulo-fate.jar,
-      $ACCUMULO_HOME/lib/accumulo-proxy.jar,
-      $ACCUMULO_HOME/lib/[^.].*.jar,
-      <!-- ZooKeeper requirements -->
-      $ZOOKEEPER_HOME/zookeeper[^.].*.jar,
-      <!-- Common Hadoop requirements -->
-      $HADOOP_CONF_DIR,
-      <!-- Hadoop 2 requirements -->
-      $HADOOP_PREFIX/share/hadoop/common/[^.].*.jar,
-      $HADOOP_PREFIX/share/hadoop/common/lib/(?!slf4j)[^.].*.jar,
-      $HADOOP_PREFIX/share/hadoop/hdfs/[^.].*.jar,
-      $HADOOP_PREFIX/share/hadoop/mapreduce/[^.].*.jar,
-      $HADOOP_PREFIX/share/hadoop/yarn/[^.].*.jar,
-      $HADOOP_PREFIX/share/hadoop/yarn/lib/jersey.*.jar,
-      <!-- End Hadoop 2 requirements -->
-      <!-- HDP 2.0 requirements -->
-      /usr/lib/hadoop/[^.].*.jar,
-      /usr/lib/hadoop/lib/[^.].*.jar,
-      /usr/lib/hadoop-hdfs/[^.].*.jar,
-      /usr/lib/hadoop-mapreduce/[^.].*.jar,
-      /usr/lib/hadoop-yarn/[^.].*.jar,
-      /usr/lib/hadoop-yarn/lib/jersey.*.jar,
-      <!-- End HDP 2.0 requirements -->
-      <!-- HDP 2.2 requirements -->
-      /usr/hdp/current/hadoop-client/[^.].*.jar,
-      /usr/hdp/current/hadoop-client/lib/(?!slf4j)[^.].*.jar,
-      /usr/hdp/current/hadoop-hdfs-client/[^.].*.jar,
-      /usr/hdp/current/hadoop-mapreduce-client/[^.].*.jar,
-      /usr/hdp/current/hadoop-yarn-client/[^.].*.jar,
-      /usr/hdp/current/hadoop-yarn-client/lib/jersey.*.jar,
-      /usr/hdp/current/hive-client/lib/hive-accumulo-handler.jar
-      <!-- End HDP 2.2 requirements -->
-      <!-- IOP 4.1 requirements -->
-      /usr/iop/current/hadoop-client/[^.].*.jar,
-      /usr/iop/current/hadoop-client/lib/(?!slf4j)[^.].*.jar,
-      /usr/iop/current/hadoop-hdfs-client/[^.].*.jar,
-      /usr/iop/current/hadoop-mapreduce-client/[^.].*.jar,
-      /usr/iop/current/hadoop-yarn-client/[^.].*.jar,
-      /usr/iop/current/hadoop-yarn-client/lib/jersey.*.jar,
-      /usr/iop/current/hive-client/lib/hive-accumulo-handler.jar
-      <!-- End IOP 4.1 requirements -->
-    </value>
-    <description>Classpaths that accumulo checks for updates and class files.</description>
-  </property>
-</configuration>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/hadoop-metrics2-accumulo.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/hadoop-metrics2-accumulo.properties b/assemble/conf/hadoop-metrics2-accumulo.properties
new file mode 100644
index 0000000..7e3c7c0
--- /dev/null
+++ b/assemble/conf/hadoop-metrics2-accumulo.properties
@@ -0,0 +1,86 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Poll collectors every ten seconds
+*.period=10
+
+#
+# MetricSink configuration
+# 
+# Uncomment a sink (and configuration) to enable it. By default,
+# no sinks are enabled.
+#
+
+#
+# Configure file logging
+#
+
+# File sink for all metrics
+# accumulo.sink.file-all.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-all.filename=all.metrics
+
+# File sink for tserver metrics
+# accumulo.sink.file-tserver.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-tserver.context=tserver
+# accumulo.sink.file-tserver.filename=tserver.metrics
+
+# File sink for master metrics
+# accumulo.sink.file-master.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-master.context=master
+# accumulo.sink.file-master.filename=master.metrics
+
+# File sink for thrift server metrics
+# accumulo.sink.file-thrift.class=org.apache.hadoop.metrics2.sink.FileSink
+# accumulo.sink.file-thrift.context=thrift
+# accumulo.sink.file-thrift.filename=thrift.metrics
+
+#
+# Configure Graphite
+#
+
+# Configure all sources to be written to a Graphite instance
+# accumulo.sink.graphite.class=org.apache.hadoop.metrics2.sink.GraphiteSink
+# accumulo.sink.graphite.server_host=localhost
+# accumulo.sink.graphite.server_port=2003
+
+#
+# Configure Ganglia
+#
+
+# for Ganglia 3.0 support
+# accumulo.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink30
+
+# for Ganglia 3.1 support
+# accumulo.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
+
+# accumulo.sink.ganglia.period=10
+
+# default for supportsparse is false
+# accumulo.sink.ganglia.supportsparse=true
+
+# accumulo.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
+# accumulo.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
+
+# Tag values to use for the ganglia prefix. If not defined no tags are used.
+# If '*' all tags are used. If specifiying multiple tags separate them with
+# commas. Note that the last segment of the property name is the context name.
+#
+# accumulo.sink.ganglia.tagsForPrefix.jvm=ProcesName
+# accumulo.sink.ganglia.tagsForPrefix.tserver=
+# accumulo.sink.ganglia.tagsForPrefix.master=
+# accumulo.sink.ganglia.tagsForPrefix.thrift=
+
+# Ganglia host(s)
+# accumulo.sink.ganglia.servers=yourgangliahost_1:8649,yourgangliahost_2:8649

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/log4j-monitor.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/log4j-monitor.properties b/assemble/conf/log4j-monitor.properties
new file mode 100644
index 0000000..8004677
--- /dev/null
+++ b/assemble/conf/log4j-monitor.properties
@@ -0,0 +1,38 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+## Log4j 1.2 file that configures logging for Accumulo Monitor
+## The system properties referenced below are configured by accumulo-env.sh
+
+## Write out INFO and higher to log file
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=${accumulo.log.dir}/${accumulo.service.id}.log
+log4j.appender.file.MaxFileSize=100MB
+log4j.appender.file.MaxBackupIndex=10
+log4j.appender.file.Threshold=INFO
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
+
+## Keep the last few log messages for display to the user in Monitor GUI
+log4j.appender.gui=org.apache.accumulo.server.monitor.LogService
+log4j.appender.gui.Keep=50
+log4j.appender.gui.Threshold=WARN
+
+## Log accumulo messages to file and gui appenders
+log4j.logger.org.apache.accumulo=INFO, file, gui
+log4j.additivity.org.apache.accumulo=false
+
+# Log non-accumulo messages to file
+log4j.rootLogger=INFO, file

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/log4j-service.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/log4j-service.properties b/assemble/conf/log4j-service.properties
new file mode 100644
index 0000000..e7212e0
--- /dev/null
+++ b/assemble/conf/log4j-service.properties
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+## Log4j 1.2 file that configures logging for all Accumulo services (Master, TabletServer, GC & Tracer) except Monitor
+## The system properties referenced below are configured by accumulo-env.sh
+
+## Write out INFO and higher to log file
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=${accumulo.log.dir}/${accumulo.service.id}.log
+log4j.appender.file.MaxFileSize=100MB
+log4j.appender.file.MaxBackupIndex=10
+log4j.appender.file.Threshold=INFO
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
+
+## Forwards Accumulo messages at WARN or higher to Accumulo Monitor
+log4j.appender.monitor=org.apache.accumulo.start.util.AsyncSocketAppender
+log4j.appender.monitor.RemoteHost=${accumulo.monitor.host}
+log4j.appender.monitor.Port=${accumulo.monitor.log.port}
+log4j.appender.monitor.Application=${accumulo.service.id}
+log4j.appender.monitor.Threshold=WARN
+
+## Configures Audit logs which are OFF by default.
+#log4j.appender.audit=org.apache.log4j.DailyRollingFileAppender
+#log4j.appender.audit.File=${accumulo.log.dir}/${accumulo.audit.log}
+#log4j.appender.audit.DatePattern='.'yyyy-MM-dd
+#log4j.appender.audit.layout=org.apache.log4j.PatternLayout
+#log4j.appender.audit.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS/Z} [%c{2}] %-5p: %m%n
+#log4j.logger.org.apache.accumulo.audit=INFO, audit
+#log4j.additivity.org.apache.accumulo.audit=false
+## Uncomment above and comment out line below to turn Audit logging ON
+log4j.logger.org.apache.accumulo.audit=OFF
+
+# Log Accumulo messages to file & monitor
+log4j.logger.org.apache.accumulo=INFO, file, monitor
+log4j.additivity.org.apache.accumulo=false
+
+log4j.logger.org.apache.accumulo.core.file.rfile.bcfile=INFO
+log4j.logger.org.mortbay.log=WARN
+log4j.logger.org.apache.zookeeper=ERROR
+
+# Log non-accumulo messages to file
+log4j.rootLogger=INFO, file

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/log4j.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/log4j.properties b/assemble/conf/log4j.properties
new file mode 100644
index 0000000..5e602f2
--- /dev/null
+++ b/assemble/conf/log4j.properties
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Log4j 1.2 file that configures logging for Accumulo commands
+
+# Setup console appender
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+
+# hide AUDIT messages in the shell, alternatively you could send them to a different logger
+log4j.logger.org.apache.accumulo.shell.Shell.audit=WARN
+
+log4j.logger.org.apache.accumulo.core.file.rfile.bcfile.Compression=WARN
+log4j.logger.org.apache.accumulo.test.TestRandomDeletes=WARN
+log4j.logger.org.apache.commons.vfs2.impl.DefaultFileSystemManager=WARN
+log4j.logger.org.apache.hadoop.io.compress=WARN
+log4j.logger.org.apache.zookeeper=ERROR
+log4j.logger.org.mortbay.log=WARN
+
+# By default, log everything at INFO or higher to the console
+log4j.rootLogger=INFO, console

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/templates/accumulo-env.sh
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/accumulo-env.sh b/assemble/conf/templates/accumulo-env.sh
new file mode 100644
index 0000000..fafc5f6
--- /dev/null
+++ b/assemble/conf/templates/accumulo-env.sh
@@ -0,0 +1,85 @@
+#! /usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+## Before accumulo-env.sh is loaded, these environment variables are set and can be used in this file:
+
+# ACCUMULO_CMD - Command that is being called such as tserver, master, etc.
+# ACCUMULO_HOME - Root directory of Accumulo installation
+# ACCUMULO_CONF_DIR - Directory containing Accumulo configuration
+
+############################
+# Variables that must be set
+############################
+
+## Accumulo logs directory. Referenced by logger config.
+export ACCUMULO_LOG_DIR="${ACCUMULO_LOG_DIR:-$ACCUMULO_HOME/logs}"
+## Hadoop installation
+export HADOOP_PREFIX="${HADOOP_PREFIX:-/path/to/hadoop}"
+## Hadoop configuration
+export HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-${HADOOP_PREFIX}/etc/hadoop}"
+## Zookeeper installation
+export ZOOKEEPER_HOME="${ZOOKEEPER_HOME:-/path/to/zookeeper}"
+
+##################################################################
+# Build JAVA_OPTS variable. Defaults below work but can be edited.
+##################################################################
+
+## JVM options set for all processes. Extra options can be passed in by setting ACCUMULO_JAVA_OPTS to an array of options.
+JAVA_OPTS=("${ACCUMULO_JAVA_OPTS[@]}" '-XX:+UseConcMarkSweepGC' '-XX:CMSInitiatingOccupancyFraction=75' '-XX:+CMSClassUnloadingEnabled'
+'-XX:OnOutOfMemoryError=kill -9 %p' '-XX:-OmitStackTraceInFastThrow' '-Djava.net.preferIPv4Stack=true' 
+'-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl')
+
+## JVM options set for individual applications
+case "$ACCUMULO_CMD" in
+master)  JAVA_OPTS=("${JAVA_OPTS[@]}" ${masterHigh_masterLow}) ;;
+monitor) JAVA_OPTS=("${JAVA_OPTS[@]}" ${monitorHigh_monitorLow}) ;;
+gc)      JAVA_OPTS=("${JAVA_OPTS[@]}" ${gcHigh_gcLow}) ;;
+tserver) JAVA_OPTS=("${JAVA_OPTS[@]}" ${tServerHigh_tServerLow}) ;;
+shell)   JAVA_OPTS=("${JAVA_OPTS[@]}" ${shellHigh_shellLow}) ;;
+*)       JAVA_OPTS=("${JAVA_OPTS[@]}" ${otherHigh_otherLow}) ;;
+esac
+
+## JVM options set for logging.  Review logj4 properties files to see how they are used.
+JAVA_OPTS=("${JAVA_OPTS[@]}" 
+  "-Daccumulo.log.dir=${ACCUMULO_LOG_DIR}"
+  "-Daccumulo.service.id=${ACCUMULO_CMD}${ACCUMULO_SERVICE_INSTANCE}_$(hostname)"
+  "-Daccumulo.audit.log=$(hostname).audit")
+
+case "$ACCUMULO_CMD" in
+monitor)                    JAVA_OPTS=("${JAVA_OPTS[@]}" "-Dlog4j.configuration=file:${ACCUMULO_CONF_DIR}/log4j-monitor.properties") ;;
+gc|master|tserver|tracer)   JAVA_OPTS=("${JAVA_OPTS[@]}" "-Dlog4j.configuration=file:${ACCUMULO_CONF_DIR}/log4j-service.properties") ;;
+*)                          JAVA_OPTS=("${JAVA_OPTS[@]}" "-Dlog4j.configuration=file:${ACCUMULO_CONF_DIR}/log4j.properties") ;;
+esac
+
+export JAVA_OPTS
+
+############################
+# Variables set to a default
+############################
+
+export MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-1}
+
+###############################################
+# Variables that are optional. Uncomment to set
+###############################################
+
+## Specifies command that will be placed before calls to Java in accumulo script
+# export ACCUMULO_JAVA_PREFIX=""
+## Optionally look for hadoop and accumulo native libraries for your platform in additional
+## directories. (Use DYLD_LIBRARY_PATH on Mac OS X.) May not be necessary for Hadoop 2.x or
+## using an RPM that installs to the correct system library directory.
+# export LD_LIBRARY_PATH=${HADOOP_PREFIX}/lib/native/${PLATFORM}:${LD_LIBRARY_PATH}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/conf/templates/accumulo-site.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/accumulo-site.xml b/assemble/conf/templates/accumulo-site.xml
new file mode 100644
index 0000000..a1f4153
--- /dev/null
+++ b/assemble/conf/templates/accumulo-site.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<configuration>
+  <!-- This is the main configuration file for Apache Accumulo. Available configuration properties
+    (and their default values) can be found in the user manual (docs/accumulo_user_manual.html). -->
+  <property>
+    <name>instance.volumes</name>
+    <value></value>
+    <description>comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo</description>
+  </property>
+
+  <property>
+    <name>instance.zookeeper.host</name>
+    <value>localhost:2181</value>
+    <description>comma separated list of zookeeper servers</description>
+  </property>
+
+  <property>
+    <name>instance.secret</name>
+    <value>DEFAULT</value>
+    <description>A secret unique to a given instance that all servers must know in order to communicate with one another.
+      Change it before initialization. To
+      change it later use ./bin/accumulo org.apache.accumulo.server.util.ChangeSecret --old [oldpasswd] --new [newpasswd],
+      and then update this file.
+    </description>
+  </property>
+
+  <property>
+    <name>tserver.memory.maps.max</name>
+    <value>${memMapMax}</value>
+  </property>
+
+  <property>
+    <name>tserver.memory.maps.native.enabled</name>
+    <value>${nativeEnabled}</value>
+  </property>
+
+  <property>
+    <name>tserver.cache.data.size</name>
+    <value>${cacheDataSize}</value>
+  </property>
+
+  <property>
+    <name>tserver.cache.index.size</name>
+    <value>${cacheIndexSize}</value>
+  </property>
+
+  <property>
+    <name>trace.token.property.password</name>
+    <!-- change this to the root user's password, and/or change the user below -->
+    <value>secret</value>
+  </property>
+
+  <!-- Kerberos requirements -->
+  <property>
+    <name>instance.rpc.sasl.enabled</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>general.kerberos.keytab</name>
+    <value>${keytab}</value>
+  </property>
+
+  <property>
+    <name>general.kerberos.principal</name>
+    <value>${principal}</value>
+  </property>
+
+  <property>
+    <name>trace.token.type</name>
+    <value>org.apache.accumulo.core.client.security.tokens.KerberosToken</value>
+  </property>
+
+  <property>
+    <name>instance.security.authenticator</name>
+    <value>org.apache.accumulo.server.security.handler.KerberosAuthenticator</value>
+  </property>
+
+  <property>
+    <name>instance.security.authorizor</name>
+    <value>org.apache.accumulo.server.security.handler.KerberosAuthorizor</value>
+  </property>
+
+  <property>
+    <name>instance.security.permissionHandler</name>
+    <value>org.apache.accumulo.server.security.handler.KerberosPermissionHandler</value>
+  </property>
+  <!-- End Kerberos requirements -->
+
+  <property>
+    <name>trace.user</name>
+    <value>${traceUser}</value>
+  </property>
+
+  <property>
+    <name>tserver.sort.buffer.size</name>
+    <value>${sortBufferSize}</value>
+  </property>
+
+  <property>
+    <name>tserver.walog.max.size</name>
+    <value>${waLogMaxSize}</value>
+  </property>
+${mvnProjBaseDir}
+  <property>
+    <name>general.classpaths</name>
+
+    <value>
+      <!-- Accumulo requirements -->
+      $ACCUMULO_HOME/lib/accumulo-server.jar,
+      $ACCUMULO_HOME/lib/accumulo-core.jar,
+      $ACCUMULO_HOME/lib/accumulo-start.jar,
+      $ACCUMULO_HOME/lib/accumulo-fate.jar,
+      $ACCUMULO_HOME/lib/accumulo-proxy.jar,
+      $ACCUMULO_HOME/lib/[^.].*.jar,
+      <!-- ZooKeeper requirements -->
+      $ZOOKEEPER_HOME/zookeeper[^.].*.jar,
+      <!-- Common Hadoop requirements -->
+      $HADOOP_CONF_DIR,
+      <!-- Hadoop 2 requirements -->
+      $HADOOP_PREFIX/share/hadoop/common/[^.].*.jar,
+      $HADOOP_PREFIX/share/hadoop/common/lib/(?!slf4j)[^.].*.jar,
+      $HADOOP_PREFIX/share/hadoop/hdfs/[^.].*.jar,
+      $HADOOP_PREFIX/share/hadoop/mapreduce/[^.].*.jar,
+      $HADOOP_PREFIX/share/hadoop/yarn/[^.].*.jar,
+      $HADOOP_PREFIX/share/hadoop/yarn/lib/jersey.*.jar,
+      <!-- End Hadoop 2 requirements -->
+      <!-- HDP 2.0 requirements -->
+      /usr/lib/hadoop/[^.].*.jar,
+      /usr/lib/hadoop/lib/[^.].*.jar,
+      /usr/lib/hadoop-hdfs/[^.].*.jar,
+      /usr/lib/hadoop-mapreduce/[^.].*.jar,
+      /usr/lib/hadoop-yarn/[^.].*.jar,
+      /usr/lib/hadoop-yarn/lib/jersey.*.jar,
+      <!-- End HDP 2.0 requirements -->
+      <!-- HDP 2.2 requirements -->
+      /usr/hdp/current/hadoop-client/[^.].*.jar,
+      /usr/hdp/current/hadoop-client/lib/(?!slf4j)[^.].*.jar,
+      /usr/hdp/current/hadoop-hdfs-client/[^.].*.jar,
+      /usr/hdp/current/hadoop-mapreduce-client/[^.].*.jar,
+      /usr/hdp/current/hadoop-yarn-client/[^.].*.jar,
+      /usr/hdp/current/hadoop-yarn-client/lib/jersey.*.jar,
+      /usr/hdp/current/hive-client/lib/hive-accumulo-handler.jar
+      <!-- End HDP 2.2 requirements -->
+      <!-- IOP 4.1 requirements -->
+      /usr/iop/current/hadoop-client/[^.].*.jar,
+      /usr/iop/current/hadoop-client/lib/(?!slf4j)[^.].*.jar,
+      /usr/iop/current/hadoop-hdfs-client/[^.].*.jar,
+      /usr/iop/current/hadoop-mapreduce-client/[^.].*.jar,
+      /usr/iop/current/hadoop-yarn-client/[^.].*.jar,
+      /usr/iop/current/hadoop-yarn-client/lib/jersey.*.jar,
+      /usr/iop/current/hive-client/lib/hive-accumulo-handler.jar
+      <!-- End IOP 4.1 requirements -->
+    </value>
+    <description>Classpaths that accumulo checks for updates and class files.</description>
+  </property>
+</configuration>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/assemble/src/main/assemblies/component.xml
----------------------------------------------------------------------
diff --git a/assemble/src/main/assemblies/component.xml b/assemble/src/main/assemblies/component.xml
index 3aae23f..a346ab2 100644
--- a/assemble/src/main/assemblies/component.xml
+++ b/assemble/src/main/assemblies/component.xml
@@ -82,21 +82,13 @@
       </excludes>
     </fileSet>
     <fileSet>
-      <directory>./</directory>
-      <outputDirectory>logs</outputDirectory>
-      <directoryMode>0700</directoryMode>
-      <excludes>
-        <exclude>*/**</exclude>
-      </excludes>
-    </fileSet>
-    <fileSet>
       <directory>conf</directory>
       <directoryMode>0755</directoryMode>
       <fileMode>0644</fileMode>
     </fileSet>
     <fileSet>
       <directory>target/example-configs</directory>
-      <outputDirectory>conf/examples</outputDirectory>
+      <outputDirectory>conf</outputDirectory>
       <directoryMode>0755</directoryMode>
       <fileMode>0644</fileMode>
     </fileSet>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/core/src/main/java/org/apache/accumulo/core/util/AsyncSocketAppender.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/util/AsyncSocketAppender.java b/core/src/main/java/org/apache/accumulo/core/util/AsyncSocketAppender.java
deleted file mode 100644
index 07c2b6c..0000000
--- a/core/src/main/java/org/apache/accumulo/core/util/AsyncSocketAppender.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.accumulo.core.util;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.log4j.AsyncAppender;
-import org.apache.log4j.net.SocketAppender;
-import org.apache.log4j.spi.LoggingEvent;
-
-/**
- * An asynchronous appender that maintains its own internal socket appender. Unlike <code>AsyncAppender</code>, this appender can be configured with a Log4J
- * properties file, although in that case no additional appenders can be added.
- */
-public class AsyncSocketAppender extends AsyncAppender {
-
-  private final SocketAppender socketAppender;
-  private final AtomicBoolean activated = new AtomicBoolean(false);
-
-  /**
-   * Creates a new appender.
-   */
-  public AsyncSocketAppender() {
-    socketAppender = new SocketAppender();
-  }
-
-  /**
-   * Creates a new appender using the given socket appender internally. Use this constructor for testing only.
-   */
-  AsyncSocketAppender(SocketAppender socketAppender) {
-    this.socketAppender = socketAppender;
-  }
-
-  @Override
-  public void append(final LoggingEvent event) {
-    // Lazy attachment, to avoid calling non-final method in constructor
-    if (!isAttached(socketAppender)) {
-      addAppender(socketAppender);
-    }
-
-    // Lazy activation / connection too, to allow setting host and port
-    if (activated.compareAndSet(false, true)) {
-      socketAppender.activateOptions();
-    }
-
-    super.append(event);
-  }
-
-  // SocketAppender delegate methods
-
-  public String getApplication() {
-    return socketAppender.getApplication();
-  }
-
-  // super.getLocationInfo() will always agree with socketAppender
-  public int getPort() {
-    return socketAppender.getPort();
-  }
-
-  public int getReconnectionDelay() {
-    return socketAppender.getReconnectionDelay();
-  }
-
-  public String getRemoteHost() {
-    return socketAppender.getRemoteHost();
-  }
-
-  public boolean isAdvertiseViaMulticastDNS() {
-    return socketAppender.isAdvertiseViaMulticastDNS();
-  }
-
-  public void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) {
-    socketAppender.setAdvertiseViaMulticastDNS(advertiseViaMulticastDNS);
-  }
-
-  public void setApplication(String lapp) {
-    socketAppender.setApplication(lapp);
-  }
-
-  @Override
-  public void setLocationInfo(boolean locationInfo) {
-    super.setLocationInfo(locationInfo);
-    socketAppender.setLocationInfo(locationInfo);
-  }
-
-  public void setPort(int port) {
-    socketAppender.setPort(port);
-  }
-
-  public void setReconnectionDelay(int delay) {
-    socketAppender.setReconnectionDelay(delay);
-  }
-
-  public void setRemoteHost(String host) {
-    socketAppender.setRemoteHost(host);
-  }
-}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/core/src/test/java/org/apache/accumulo/core/util/AsyncSocketAppenderTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/util/AsyncSocketAppenderTest.java b/core/src/test/java/org/apache/accumulo/core/util/AsyncSocketAppenderTest.java
deleted file mode 100644
index f7040f0..0000000
--- a/core/src/test/java/org/apache/accumulo/core/util/AsyncSocketAppenderTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.accumulo.core.util;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.net.SocketAppender;
-import org.apache.log4j.spi.LoggingEvent;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AsyncSocketAppenderTest {
-  private SocketAppender sa;
-  private AsyncSocketAppender asa;
-
-  @Before
-  public void setUp() throws Exception {
-    sa = createMock(SocketAppender.class);
-  }
-
-  @Test
-  public void testDelegates() {
-    asa = new AsyncSocketAppender();
-    asa.setApplication("myapp");
-    asa.setLocationInfo(true);
-    asa.setPort(1234);
-    asa.setReconnectionDelay(56);
-    asa.setRemoteHost("remotehost");
-    assertEquals("myapp", asa.getApplication());
-    assertEquals(true, asa.getLocationInfo()); // not really delegating
-    assertEquals(1234, asa.getPort());
-    assertEquals(56, asa.getReconnectionDelay());
-    assertEquals("remotehost", asa.getRemoteHost());
-  }
-
-  @Test
-  public void testSetLocationInfo() {
-    sa.setLocationInfo(true);
-    replay(sa);
-    asa = new AsyncSocketAppender(sa);
-    asa.setLocationInfo(true);
-    verify(sa);
-  }
-
-  @Test
-  public void testAppend() {
-    asa = new AsyncSocketAppender(sa);
-    assertFalse(asa.isAttached(sa));
-    LoggingEvent event1 = new LoggingEvent("java.lang.String", Logger.getRootLogger(), Level.INFO, "event1", null);
-    LoggingEvent event2 = new LoggingEvent("java.lang.Integer", Logger.getRootLogger(), Level.WARN, "event2", null);
-    sa.activateOptions();
-    sa.doAppend(event1);
-    sa.doAppend(event2);
-    sa.close();
-    replay(sa);
-    asa.doAppend(event1);
-    asa.doAppend(event2);
-    asa.close(); // forces events to be appended to socket appender
-    assertTrue(asa.isAttached(sa));
-    verify(sa);
-  }
-}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/61245293/docs/src/main/asciidoc/chapters/administration.txt
----------------------------------------------------------------------
diff --git a/docs/src/main/asciidoc/chapters/administration.txt b/docs/src/main/asciidoc/chapters/administration.txt
index ad6cf11..69ae1a8 100644
--- a/docs/src/main/asciidoc/chapters/administration.txt
+++ b/docs/src/main/asciidoc/chapters/administration.txt
@@ -100,22 +100,21 @@ sync, which can cause problems with automatically timestamped data.
 === Configuration
 
 The Accumulo tarball contains a +conf/+ directory where Accumulo looks for configuration. If you
-installed Accumulo using downstream packaging, the +conf/+ could be something else like +/etc/accumulo/+.
+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-site.xml+ must exist in
-+conf/+ and be properly configured.  You can either copy these files from +conf/examples+ or run
+Before starting Accumulo, the configuration files +accumulo-env.sh+ and +accumulo-site.xml+ must
+exist in +conf/+ and be properly configured. You can either edit the files in +conf/+ or run
 +accumulo-util create-config+ to generate these files. 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 hosts file for Accumulo services (i.e +gc+,
++masters+, +monitor+, +tservers+, +tracers+). You can either create these files manually or run
 +accumulo-cluster create-config+.
 
-Additional optional configuration files can be copied from `conf/examples` to `conf/`. For example,
-logging is primarily controlled using the log4j configuration files, +generic_logger.xml+ and
-+monitor_logger.xml+ (or their corresponding +.properties+ version if the +.xml+ version is missing).
-The generic logger is used for most server types, and is typically configured to send logs to the
-monitor, as well as log files. The monitor logger is used by the monitor, and is typically configured
-to log only errors the monitor itself generates, rather than all the logs that it receives from other
-server types.
+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+.
 
 ==== Configure accumulo-env.sh
 
@@ -178,7 +177,7 @@ also locate the native maps shared library by setting +LD_LIBRARY_PATH+
 
 As mentioned, Accumulo will use the native libraries if they are found in the expected
 location and +tserver.memory.maps.native.enabled+ is set to +true+ (which is the default).
-Using the native maps over JVM Maps nets a noticable improvement in ingest rates; however,
+Using the native maps over JVM Maps nets a noticeable improvement in ingest rates; however,
 certain configuration variables are important to modify when increasing the size of the
 native map.
 
@@ -405,7 +404,6 @@ and BatchScanner passing in the name of the context, app1 in the example above.
 iterators to load classes from the locations defined by the context. Passing the context name to the scanners allows you to override the table setting
 to load only scan time iterators from a different location. 
 
-
 === Initialization
 
 Accumulo must be initialized to create the structures it uses internally to locate
@@ -466,10 +464,10 @@ Alternatively, you can ssh to each of the hosts you want to remove and run:
 
 Be sure to update your +conf/tservers+ file to
 account for the removal of these hosts. Bear in mind that the monitor will not re-read the
-tservers file automatically, so it will report the decomissioned servers as down; it's
+tservers file automatically, so it will report the decommissioned servers as down; it's
 recommended that you restart the monitor so that the node list is up to date.
 
-The steps described to decomission a node can also be used (without removal of the host
+The steps described to decommission a node can also be used (without removal of the host
 from the +conf/tservers+ file) to gracefully stop a node. This will
 ensure that the tabletserver is cleanly stopped and recovery will not need to be performed
 when the tablets are re-hosted.
@@ -1132,12 +1130,12 @@ can be exacerbated by resource constraints and clock drift.
 ==== Tested Versions
 Each release of Accumulo is built with a specific version of Apache
 Hadoop, Apache ZooKeeper and Apache Thrift.  We expect Accumulo to
-work with versions that are API compatable with those versions.
+work with versions that are API compatible with those versions.
 However this compatibility is not guaranteed because Hadoop, ZooKeeper
 and Thift may not provide guarantees between their own versions. We
 have also found that certain versions of Accumulo and Hadoop included
 bugs that greatly affected overall stability.  Thrift is particularly
-prone to compatablity changes between versions and you must use the
+prone to compatibility changes between versions and you must use the
 same version your Accumulo is built with.
 
 Please check the release notes for your Accumulo version or use the