Repository: accumulo Updated Branches: refs/heads/1.6.0-SNAPSHOT 6831e127a -> 8d6a4cf69
ACCUMULO-1395 Generate config without removing examples Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8d6a4cf6 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8d6a4cf6 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8d6a4cf6 Branch: refs/heads/1.6.0-SNAPSHOT Commit: 8d6a4cf69ba9092d03a82b5b56cfc0e2b8438294 Parents: 6831e12 Author: Christopher Tubbs <ctubb...@apache.org> Authored: Mon Apr 7 15:41:58 2014 -0400 Committer: Christopher Tubbs <ctubb...@apache.org> Committed: Mon Apr 7 15:41:58 2014 -0400 ---------------------------------------------------------------------- assemble/src/main/assemblies/component.xml | 3 + bin/bootstrap_config.sh | 321 ++++++++++++++++++++---- conf/templates/accumulo-env.sh | 66 +++++ conf/templates/accumulo-metrics.xml | 60 +++++ conf/templates/accumulo-site.xml | 132 ++++++++++ conf/templates/accumulo.policy.example | 143 +++++++++++ conf/templates/auditLog.xml | 35 +++ conf/templates/gc | 16 ++ conf/templates/generic_logger.xml | 83 ++++++ conf/templates/log4j.properties | 41 +++ conf/templates/masters | 16 ++ conf/templates/monitor | 16 ++ conf/templates/monitor_logger.xml | 64 +++++ conf/templates/slaves | 16 ++ conf/templates/tracers | 16 ++ 15 files changed, 985 insertions(+), 43 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/assemble/src/main/assemblies/component.xml ---------------------------------------------------------------------- diff --git a/assemble/src/main/assemblies/component.xml b/assemble/src/main/assemblies/component.xml index 3c3d9c1..67d83a5 100644 --- a/assemble/src/main/assemblies/component.xml +++ b/assemble/src/main/assemblies/component.xml @@ -125,6 +125,7 @@ <fileMode>0755</fileMode> <includes> <include>examples/**/*.sh</include> + <include>templates/*.sh</include> </includes> </fileSet> <fileSet> @@ -134,9 +135,11 @@ <includes> <include>accumulo.policy.example</include> <include>examples/**</include> + <include>templates/**</include> </includes> <excludes> <exclude>examples/**/*.sh</exclude> + <exclude>templates/*.sh</exclude> </excludes> </fileSet> <fileSet> http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/bin/bootstrap_config.sh ---------------------------------------------------------------------- diff --git a/bin/bootstrap_config.sh b/bin/bootstrap_config.sh index be472d3..5d36499 100755 --- a/bin/bootstrap_config.sh +++ b/bin/bootstrap_config.sh @@ -15,70 +15,305 @@ # See the License for the specific language governing permissions and # limitations under the License. +function usage { + cat <<EOF +Usage: bootstrap_config.sh [-options] +where options include: + -d --dir Alternate directory to setup config files + -s --size Supported sizes: '1GB' '2GB' '3GB' '512MB' + -n --native Configure to use native libraries + -j --jvm Configure to use the jvm + -o --overwrite Overwrite the default config directory + -v --version Specify the Apache Hadoop version supported versions: '1' '2' + -h --help Print this help message +EOF +} + # Start: Resolve Script Directory SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$bin/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located + bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$bin/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located done bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + # Stop: Resolve Script Directory # # Resolve accumulo home for bootstrapping # ACCUMULO_HOME=$( cd -P ${bin}/.. && pwd ) +TEMPLATE_CONF_DIR="${ACCUMULO_HOME}/conf/templates" +CONF_DIR="${ACCUMULO_HOME}/conf" +ACCUMULO_SITE=accumulo-site.xml +ACCUMULO_ENV=accumulo-env.sh + +SIZE= +TYPE= +HADOOP_VERSION= +OVERWRITE="0" +BASE_DIR= -SIZE="" -TYPE="" -if [ -n "$1" ]; then - SIZE=$1 - TYPE="standalone" +#Execute getopt +args=$(getopt -o "b:d:s:njov:h" -l "basedir:,dir:,size:,native,jvm,overwrite,version:,help" -q -- "$@") + +#Bad arguments +if [[ $? != 0 ]]; then + usage 1>&2 + exit 1 fi +eval set -- $args + +for i +do + case "$i" in + -b|--basedir) #Hidden option used to set general.maven.project.basedir for developers + BASE_DIR=$2; shift + shift;; + -d|--dir) + CONF_DIR=$2; shift + shift;; + -s|--size) + SIZE=$2; shift + shift;; + -n|--native) + TYPE=native + shift;; + -j|--jvm) + TYPE=jvm + shift;; + -o|--overwrite) + OVERWRITE=1 + shift;; + -v|--version) + HADOOP_VERSION=$2; shift + shift;; + -h|--help) + usage + exit 0 + shift;; + --) + shift + break;; + esac +done + +while [[ "${OVERWRITE}" = "0" ]]; do + if [[ -e "${CONF_DIR}/${ACCUMULO_ENV}" || -e "${CONF_DIR}/${ACCUMULO_SITE}" ]]; then + echo "Warning your current config files in ${CONF_DIR} will be overwritten!" + echo + echo "How would you like to proceed?:" + select CHOICE in 'Continue with overwrite' 'Specify new conf dir'; do + if [[ "${CHOICE}" = 'Specify new conf dir' ]]; then + echo -n "Please specifiy new conf directory: " + read CONF_DIR + elif [[ "${CHOICE}" = 'Continue with overwrite' ]]; then + OVERWRITE=1 + fi + break + done + else + OVERWRITE=1 + fi +done +echo "Coppying configuration files to: ${CONF_DIR}" + +#Native 1GB +native_1GB_tServer="-Xmx128m -Xms128m" +_1GB_master="-Xmx128m -Xms128m" +_1GB_monitor="-Xmx64m -Xms64m" +_1GB_gc="-Xmx64m -Xms64m" +_1GB_other="-Xmx128m -Xms64m" + +_1GB_memoryMapMax="256M" +native_1GB_nativeEnabled="true" +_1GB_cacheDataSize="15M" +_1GB_cacheIndexSize="40M" +_1GB_sortBufferSize="50M" +_1GB_waLogMaxSize="256M" + +#Native 2GB +native_2GB_tServer="-Xmx256m -Xms256m" +_2GB_master="-Xmx256m -Xms256m" +_2GB_monitor="-Xmx128m -Xms64m" +_2GB_gc="-Xmx128m -Xms128m" +_2GB_other="-Xmx256m -Xms64m" + +_2GB_memoryMapMax="512M" +native_2GB_nativeEnabled="true" +_2GB_cacheDataSize="30M" +_2GB_cacheIndexSize="80M" +_2GB_sortBufferSize="50M" +_2GB_waLogMaxSize="512M" + +#Native 3GB +native_3GB_tServer="-Xmx1g -Xms1g -XX:NewSize=500m -XX:MaxNewSize=500m" +_3GB_master="-Xmx1g -Xms1g" +_3GB_monitor="-Xmx1g -Xms256m" +_3GB_gc="-Xmx256m -Xms256m" +_3GB_other="-Xmx1g -Xms256m" + +_3GB_memoryMapMax="1G" +native_3GB_nativeEnabled="true" +_3GB_cacheDataSize="128M" +_3GB_cacheIndexSize="128M" +_3GB_sortBufferSize="200M" +_3GB_waLogMaxSize="1G" + +#Native 512MB +native_512MB_tServer="-Xmx48m -Xms48m" +_512MB_master="-Xmx128m -Xms128m" +_512MB_monitor="-Xmx64m -Xms64m" +_512MB_gc="-Xmx64m -Xms64m" +_512MB_other="-Xmx128m -Xms64m" + +_512MB_memoryMapMax="80M" +native_512MB_nativeEnabled="true" +_512MB_cacheDataSize="7M" +_512MB_cacheIndexSize="20M" +_512MB_sortBufferSize="50M" +_512MB_waLogMaxSize="100M" + +#JVM 1GB +jvm_1GB_tServer="-Xmx384m -Xms384m" + +jvm_1GB_nativeEnabled="false" + +#JVM 2GB +jvm_2GB_tServer="-Xmx768m -Xms768m" + +jvm_2GB_nativeEnabled="false" -if [ "$2" = "native" ]; then - TYPE="native-standalone" +#JVM 3GB +jvm_3GB_tServer="-Xmx2g -Xms2g -XX:NewSize=1G -XX:MaxNewSize=1G" + +jvm_3GB_nativeEnabled="false" + +#JVM 512MB +jvm_512MB_tServer="-Xmx128m -Xms128m" + +jvm_512MB_nativeEnabled="false" + + +if [[ -z "${SIZE}" ]]; then + echo "Choose the heap configuration:" + select DIRNAME in 1GB 2GB 3GB 512MB; do + echo "Using '${DIRNAME}' configuration" + SIZE=${DIRNAME} + break + done +elif [[ "${SIZE}" != "1GB" && "${SIZE}" != "2GB" && "${SIZE}" != "3GB" && "${SIZE}" != "512MB" ]]; then + echo "Invalid memory size" + echo "Supported sizes: '1GB' '2GB' '3GB' '512MB'" + exit 1 fi -if [ -z "${SIZE}" -a -z "${TYPE}" ]; then - echo "Please choose from the following example configurations..." - echo "" +if [[ -z "${TYPE}" ]]; then + echo + echo "Choose the Accumulo memory-map type:" + select TYPENAME in Java Native; do + if [[ "${TYPENAME}" == "Native" ]]; then + TYPE="native" + echo "Don't forget to build the native libraries using the bin/build_native_library.sh script" + elif [[ "${TYPENAME}" == "Java" ]]; then + TYPE="jvm" + fi + echo "Using '${TYPE}' configuration" + echo + break + done fi -if [ -z "${SIZE}" ]; then - echo "Choose the heap configuration:" - select DIRNAME in $(cd ${ACCUMULO_HOME}/conf/examples && ls -d */standalone/.. | sed -e 's/\/.*//'); do - echo "Using '${DIRNAME}' configuration" - SIZE=${DIRNAME} - break - done +if [[ -z "${HADOOP_VERSION}" ]]; then + echo + echo "Choose the Apache Hadoop version:" + select HADOOP in 'HADOOP 1' 'HADOOP 2' ; do + if [ "${HADOOP}" == "HADOOP 2" ]; then + HADOOP_VERSION="2" + elif [ "${HADOOP}" == "HADOOP 1" ]; then + HADOOP_VERSION="1" + fi + echo "Using Apache Hadoop version '${HADOOP_VERSION}' configuration" + echo + break + done +elif [[ "${HADOOP_VERSION}" != "1" && "${HADOOP_VERSION}" != "2" ]]; then + echo "Invalid Apache Hadoop version" + echo "Supported Apache Hadoop versions: '1' '2'" + exit 1 fi -if [ -z "${TYPE}" ]; then - echo - echo "Choose the Accumulo memory-map type:" - select TYPENAME in Java Native; do - if [ "${TYPENAME}" = "native" ]; then - TYPE="native-standalone" - else - TYPE="standalone" - fi - echo "Using '${TYPE}' configuration" - echo - break - done +for var in SIZE TYPE HADOOP_VERSION; do + if [[ -z ${!var} ]]; then + echo "Invalid $var configuration" + exit 1 + fi +done + +TSERVER="${TYPE}_${SIZE}_tServer" +MASTER="_${SIZE}_master" +MONITOR="_${SIZE}_monitor" +GC="_${SIZE}_gc" +OTHER="_${SIZE}_other" + +MEMORY_MAP_MAX="_${SIZE}_memoryMapMax" +NATIVE="${TYPE}_${SIZE}_nativeEnabled" +CACHE_DATA_SIZE="_${SIZE}_cacheDataSize" +CACHE_INDEX_SIZE="_${SIZE}_cacheIndexSize" +SORT_BUFFER_SIZE="_${SIZE}_sortBufferSize" +WAL_MAX_SIZE="_${SIZE}_waLogMaxSize" + +MAVEN_PROJ_BASEDIR="" + +if [[ ! -z "${BASE_DIR}" ]]; then + MAVEN_PROJ_BASEDIR="\n <property>\n <name>general.maven.project.basedir</name>\n <value>${BASE_DIR}</value>\n </property>\n" fi -CONF_DIR="${ACCUMULO_HOME}/conf/examples/${SIZE}/${TYPE}" +#Configure accumulo-env.sh +mkdir -p "${CONF_DIR}" && cp ${TEMPLATE_CONF_DIR}/* ${CONF_DIR}/ +sed -e "s/\${tServerHigh_tServerLow}/${!TSERVER}/" \ + -e "s/\${masterHigh_masterLow}/${!MASTER}/" \ + -e "s/\${monitorHigh_monitorLow}/${!MONITOR}/" \ + -e "s/\${gcHigh_gcLow}/${!GC}/" \ + -e "s/\${otherHigh_otherLow}/${!OTHER}/" \ + ${TEMPLATE_CONF_DIR}/$ACCUMULO_ENV > ${CONF_DIR}/$ACCUMULO_ENV -echo "Initializing default configuration from '${CONF_DIR}'" -# -# Perform a copy with update here to not overwrite existing files -# -if ! `type -p "cp -u"`; then - CP=rsync -else - CP=cp +#Configure accumulo-site.xml +sed -e "s/\${memMapMax}/${!MEMORY_MAP_MAX}/" \ + -e "s/\${nativeEnabled}/${!NATIVE}/" \ + -e "s/\${cacheDataSize}/${!CACHE_DATA_SIZE}/" \ + -e "s/\${cacheIndexSize}/${!CACHE_INDEX_SIZE}/" \ + -e "s/\${sortBufferSize}/${!SORT_BUFFER_SIZE}/" \ + -e "s/\${waLogMaxSize}/${!WAL_MAX_SIZE}/" \ + -e "s=\${mvnProjBaseDir}=${MAVEN_PROJ_BASEDIR}=" ${TEMPLATE_CONF_DIR}/$ACCUMULO_SITE > ${CONF_DIR}/$ACCUMULO_SITE + +#Configure for hadoop 1 +if [[ "$HADOOP_VERSION" = "1" ]]; then + sed -e 's/^test -z \"$HADOOP_CONF_DIR\"/#test -z \"$HADOOP_CONF_DIR\"/' -e 's/^# test -z "$HADOOP_CONF_DIR"/test -z \"$HADOOP_CONF_DIR\"/' ${CONF_DIR}/$ACCUMULO_ENV > temp + mv temp ${CONF_DIR}/$ACCUMULO_ENV + sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements -->\n <!--/' \ + -e 's/<!-- End Hadoop 2 requirements -->/-->\n <!-- End Hadoop 2 requirements -->/' \ + ${CONF_DIR}/$ACCUMULO_SITE > temp + mv temp ${CONF_DIR}/$ACCUMULO_SITE +fi + +#Additional setup steps for native configuration. +if [[ "${TYPE}" = "native" ]]; then + if [[ "$(uname)" = 'Linux' ]]; then + if [[ -z $HADOOP_PREFIX ]]; then + echo "HADOOP_PREFIX not set cannot automatically configure LD_LIBRARY_PATH" + else + NATIVE_LIB=$(readlink -ef $(dirname $(for x in $(find $HADOOP_PREFIX -name libhadoop.so); do ld $x 2>/dev/null && echo $x && break; done) 2>>/dev/null) 2>>/dev/null) + if [[ -z $NATIVE_LIB ]]; then + echo -e "Native libraries could not be found for your sytem in: $HADOOP_PREFIX" + else + sed "/# Should the monitor/ i export LD_LIBRARY_PATH=${NATIVE_LIB}:\${LD_LIBRARY_PATH}" ${CONF_DIR}/$ACCUMULO_ENV > temp + mv temp ${CONF_DIR}/$ACCUMULO_ENV + echo -e "Added ${NATIVE_LIB} to the LD_LIBRARY_PATH" + fi + fi + fi + echo -e "Please remember to compile the native libraries using the bin/build_native_library.sh script and to set the LD_LIBRARY_PATH variable in the ${CONF_DIR}/accumulo-env.sh script if needed." fi -$CP -vu ${CONF_DIR}/* ${ACCUMULO_HOME}/conf \ No newline at end of file +echo "Setup complete" http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/accumulo-env.sh ---------------------------------------------------------------------- diff --git a/conf/templates/accumulo-env.sh b/conf/templates/accumulo-env.sh new file mode 100644 index 0000000..e136a3f --- /dev/null +++ b/conf/templates/accumulo-env.sh @@ -0,0 +1,66 @@ +#! /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. + +### +### Configure these environment variables to point to your local installations. +### +### The functional tests require conditional values, so keep this style: +### +### test -z "$JAVA_HOME" && export JAVA_HOME=/usr/lib/jvm/java +### +### +### Note that the -Xmx -Xms settings below require substantial free memory: +### you may want to use smaller values, especially when running everything +### on a single machine. +### +if [ -z "$HADOOP_HOME" ] +then + test -z "$HADOOP_PREFIX" && export HADOOP_PREFIX=/path/to/hadoop +else + HADOOP_PREFIX="$HADOOP_HOME" + unset HADOOP_HOME +fi + +# hadoop-1.2: +# test -z "$HADOOP_CONF_DIR" && export HADOOP_CONF_DIR="$HADOOP_PREFIX/conf" +# hadoop-2.0: +test -z "$HADOOP_CONF_DIR" && export HADOOP_CONF_DIR="$HADOOP_PREFIX/etc/hadoop" + +test -z "$JAVA_HOME" && export JAVA_HOME=/path/to/java +test -z "$ZOOKEEPER_HOME" && export ZOOKEEPER_HOME=/path/to/zookeeper +test -z "$ACCUMULO_LOG_DIR" && export ACCUMULO_LOG_DIR=$ACCUMULO_HOME/logs +if [ -f ${ACCUMULO_CONF_DIR}/accumulo.policy ] +then + POLICY="-Djava.security.manager -Djava.security.policy=${ACCUMULO_CONF_DIR}/accumulo.policy" +fi +test -z "$ACCUMULO_TSERVER_OPTS" && export ACCUMULO_TSERVER_OPTS="${POLICY} ${tServerHigh_tServerLow} " +test -z "$ACCUMULO_MASTER_OPTS" && export ACCUMULO_MASTER_OPTS="${POLICY} ${masterHigh_masterLow}" +test -z "$ACCUMULO_MONITOR_OPTS" && export ACCUMULO_MONITOR_OPTS="${POLICY} ${monitorHigh_monitorLow}" +test -z "$ACCUMULO_GC_OPTS" && export ACCUMULO_GC_OPTS="${gcHigh_gcLow}" +test -z "$ACCUMULO_GENERAL_OPTS" && export ACCUMULO_GENERAL_OPTS="-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -Djava.net.preferIPv4Stack=true" +test -z "$ACCUMULO_OTHER_OPTS" && export ACCUMULO_OTHER_OPTS="${otherHigh_otherLow}" +# what do when the JVM runs out of heap memory +export ACCUMULO_KILL_CMD='kill -9 %p' + +### 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} + +# Should the monitor bind to all network interfaces -- default: false +# export ACCUMULO_MONITOR_BIND_ALL="true" http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/accumulo-metrics.xml ---------------------------------------------------------------------- diff --git a/conf/templates/accumulo-metrics.xml b/conf/templates/accumulo-metrics.xml new file mode 100644 index 0000000..60f9f8d --- /dev/null +++ b/conf/templates/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_HOME}/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> + <logger> + <enabled type="boolean">false</enabled> + <logging type="boolean">false</logging> + </logger> + <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> +</config> http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/accumulo-site.xml ---------------------------------------------------------------------- diff --git a/conf/templates/accumulo-site.xml b/conf/templates/accumulo-site.xml new file mode 100644 index 0000000..052ed7e --- /dev/null +++ b/conf/templates/accumulo-site.xml @@ -0,0 +1,132 @@ +<?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> + <!-- Put your site-specific accumulo configurations here. The available configuration values along with their defaults are documented in docs/config.html Unless + you are simply testing at your workstation, you will most definitely need to change the three entries below. --> + + <property> + <name>instance.zookeeper.host</name> + <value>localhost:2181</value> + <description>comma separated list of zookeeper servers</description> + </property> + + <property> + <name>logger.dir.walog</name> + <value>walogs</value> + <description>The property only needs to be set if upgrading from 1.4 which used to store write-ahead logs on the local + filesystem. In 1.5 write-ahead logs are stored in DFS. When 1.5 is started for the first time it will copy any 1.4 + write ahead logs into DFS. It is possible to specify a comma-separated list of directories. + </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> + + <property> + <name>trace.user</name> + <value>root</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, + <!-- End Accumulo requirements --> + + <!-- ZooKeeper requirements --> + $ZOOKEEPER_HOME/zookeeper[^.].*.jar, + <!-- End ZooKeeper requirements --> + + <!-- Common Hadoop requirements --> + $HADOOP_CONF_DIR, + <!-- End Common Hadoop requirements --> + + <!-- Hadoop 2 requirements --> + $HADOOP_PREFIX/share/hadoop/common/[^.].*.jar, + $HADOOP_PREFIX/share/hadoop/common/lib/[^.].*.jar, + $HADOOP_PREFIX/share/hadoop/hdfs/[^.].*.jar, + $HADOOP_PREFIX/share/hadoop/mapreduce/[^.].*.jar, + $HADOOP_PREFIX/share/hadoop/yarn/[^.].*.jar, + /usr/lib/hadoop/[^.].*.jar, + /usr/lib/hadoop/lib/[^.].*.jar, + /usr/lib/hadoop-hdfs/[^.].*.jar, + /usr/lib/hadoop-mapreduce/[^.].*.jar, + /usr/lib/hadoop-yarn/[^.].*.jar, + <!-- End Hadoop 2 requirements --> + + <!-- Hadoop 1 requirements --> + $HADOOP_PREFIX/[^.].*.jar, + $HADOOP_PREFIX/lib/[^.].*.jar, + <!-- End Hadoop 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/8d6a4cf6/conf/templates/accumulo.policy.example ---------------------------------------------------------------------- diff --git a/conf/templates/accumulo.policy.example b/conf/templates/accumulo.policy.example new file mode 100644 index 0000000..2964f06 --- /dev/null +++ b/conf/templates/accumulo.policy.example @@ -0,0 +1,143 @@ +/* + * 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. + */ + +grant codeBase "file:${java.home}/lib/ext/*" { + permission java.security.AllPermission; +}; + +// These should all be empty in a fielded system +grant codeBase "file:${org.apache.accumulo.core.home.dir}/src/server/target/classes/" { + permission java.security.AllPermission; +}; +grant codeBase "file:${org.apache.accumulo.core.home.dir}/src/core/target/classes/" { + permission java.security.AllPermission; +}; +grant codeBase "file:${org.apache.accumulo.core.home.dir}/src/start/target/classes/" { + permission java.security.AllPermission; +}; +grant codeBase "file:${org.apache.accumulo.core.home.dir}/src/examples/target/classes/" { + permission java.security.AllPermission; +}; + +grant codebase "file:${hadoop.home.dir}/*" { + permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; + permission java.lang.RuntimePermission "shutdownHooks"; // hadoop libs use executables to discover usernames, groups, etc. + permission java.lang.RuntimePermission "loadLibrary.*"; + permission java.io.FilePermission "<<ALL FILES>>", "read, execute"; + permission java.io.FilePermission "/tmp", "write, delete"; + permission java.io.FilePermission "/tmp/-", "write, delete"; + permission java.io.FilePermission "/", "write"; + permission java.net.SocketPermission "*", "connect, resolve"; + permission java.util.PropertyPermission "java.library.path", "read"; + permission java.util.PropertyPermission "user.dir", "read"; + permission java.util.PropertyPermission "org.apache.commons.logging.*", "read"; + permission java.util.PropertyPermission "entityExpansionLimit", "read"; + permission java.util.PropertyPermission "maxOccurLimit", "read"; + permission java.util.PropertyPermission "os.name", "read"; +}; + +grant codebase "file:${hadoop.home.dir}/lib/*" { + // monitor's jetty web service + permission java.security.SecurityPermission "configurationPermission"; + permission java.security.SecurityPermission "tablesPermission"; + permission java.security.SecurityPermission "zookeeperWriterPermission"; + permission java.security.SecurityPermission "tableManagerPermission"; + permission java.security.SecurityPermission "transportPoolPermission"; + permission java.security.SecurityPermission "systemCredentialsPermission"; + permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; + // need to accept web requests, and talk to job tracker, name node, etc. + permission java.net.SocketPermission "*", "accept, listen, resolve, connect, resolve"; + permission java.lang.RuntimePermission "getenv.*"; + permission java.lang.RuntimePermission "loadLibrary.*"; + permission java.util.PropertyPermission "org.mortbay.*", "read"; + permission java.util.PropertyPermission "VERBOSE", "read"; + permission java.util.PropertyPermission "IGNORED", "read"; + permission java.util.PropertyPermission "ISO_8859_1", "read"; + permission java.util.PropertyPermission "org.apache.commons.logging.*", "read"; + permission java.util.PropertyPermission "accumulo.*", "read"; + permission java.util.PropertyPermission "org.jfree.*", "read"; + permission java.util.PropertyPermission "elementAttributeLimit", "read"; + permission java.util.PropertyPermission "entityExpansionLimit", "read"; + permission java.util.PropertyPermission "maxOccurLimit", "read"; + // some resources come out of accumulo jars + permission java.lang.RuntimePermission "getClassLoader"; + permission java.io.FilePermission "${org.apache.accumulo.core.home.dir}/lib/*", "read"; + permission java.io.FilePermission "${org.apache.accumulo.core.home.dir}/src/-", "read"; + permission java.io.FilePermission "${hadoop.home.dir}/lib/*", "read"; + // images are cached in /tmp + permission java.io.FilePermission "/tmp/*", "read, write"; + permission java.io.FilePermission "/", "write"; +}; + +grant codebase "file:${zookeeper.home.dir}/*" { + permission java.net.SocketPermission "*", "connect, resolve"; + permission java.util.PropertyPermission "user.*", "read"; + permission java.util.PropertyPermission "java.*", "read"; + permission java.util.PropertyPermission "zookeeper.*", "read"; + permission java.util.PropertyPermission "jute.*", "read"; + permission java.util.PropertyPermission "os.*", "read"; + // accumulo properties read in callbacks + permission java.util.PropertyPermission "accumulo.*", "read"; + permission java.security.SecurityPermission "configurationPermission"; + permission java.security.SecurityPermission "tablesPermission"; + permission java.security.SecurityPermission "zookeeperWriterPermission"; + permission java.security.SecurityPermission "tableManagerPermission"; + permission java.security.SecurityPermission "transportPoolPermission"; + permission java.security.SecurityPermission "systemCredentialsPermission"; + permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; + permission java.lang.RuntimePermission "exitVM"; +}; + +grant codebase "file:${org.apache.accumulo.core.home.dir}/lib/ext/*" { +}; + +grant codebase "file:${org.apache.accumulo.core.home.dir}/lib/*" { + permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; + // logging, configuration and getting user id + permission java.io.FilePermission "<<ALL FILES>>", "read, write, execute, delete"; + permission java.util.PropertyPermission "*", "read, write"; + permission java.lang.RuntimePermission "getenv.*"; + permission java.lang.RuntimePermission "getClassLoader"; + permission java.lang.RuntimePermission "loadLibrary.*"; + permission java.lang.RuntimePermission "accessDeclaredMembers"; + permission java.lang.RuntimePermission "selectorProvider"; + permission java.lang.RuntimePermission "accessClassInPackage.*"; + permission java.lang.RuntimePermission "readFileDescriptor"; + permission java.lang.RuntimePermission "writeFileDescriptor"; + permission java.lang.RuntimePermission "modifyThread"; + permission java.lang.RuntimePermission "modifyThreadGroup"; + permission java.lang.RuntimePermission "createClassLoader"; + permission java.lang.RuntimePermission "setContextClassLoader"; + permission java.lang.RuntimePermission "exitVM"; + permission java.lang.RuntimePermission "shutdownHooks"; + permission java.security.SecurityPermission "getPolicy"; + permission java.security.SecurityPermission "getProperty.*"; + permission java.security.SecurityPermission "putProviderProperty.*"; + permission java.security.SecurityPermission "setSystemScope"; + permission java.security.SecurityPermission "configurationPermission"; + permission java.security.SecurityPermission "tablesPermission"; + permission java.security.SecurityPermission "zookeeperWriterPermission"; + permission java.security.SecurityPermission "tableManagerPermission"; + permission java.security.SecurityPermission "transportPoolPermission"; + permission java.security.SecurityPermission "systemCredentialsPermission"; + permission java.util.logging.LoggingPermission "control"; + permission java.net.NetPermission "getProxySelector"; + permission javax.management.MBeanServerPermission "createMBeanServer"; + permission javax.management.MBeanTrustPermission "register"; + permission javax.management.MBeanPermission "*", "registerMBean"; + permission java.net.SocketPermission "*", "accept, connect, listen, resolve"; +}; http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/auditLog.xml ---------------------------------------------------------------------- diff --git a/conf/templates/auditLog.xml b/conf/templates/auditLog.xml new file mode 100644 index 0000000..9111811 --- /dev/null +++ b/conf/templates/auditLog.xml @@ -0,0 +1,35 @@ +<?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/8d6a4cf6/conf/templates/gc ---------------------------------------------------------------------- diff --git a/conf/templates/gc b/conf/templates/gc new file mode 100644 index 0000000..63fb8bb --- /dev/null +++ b/conf/templates/gc @@ -0,0 +1,16 @@ +# 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. + +localhost http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/generic_logger.xml ---------------------------------------------------------------------- diff --git a/conf/templates/generic_logger.xml b/conf/templates/generic_logger.xml new file mode 100644 index 0000000..db79efe --- /dev/null +++ b/conf/templates/generic_logger.xml @@ -0,0 +1,83 @@ +<?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="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}_${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}:${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/8d6a4cf6/conf/templates/log4j.properties ---------------------------------------------------------------------- diff --git a/conf/templates/log4j.properties b/conf/templates/log4j.properties new file mode 100644 index 0000000..a4bcb2e --- /dev/null +++ b/conf/templates/log4j.properties @@ -0,0 +1,41 @@ +# 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 compresssor" messages +log4j.logger.org.apache.hadoop.io.compress=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.core.util.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/8d6a4cf6/conf/templates/masters ---------------------------------------------------------------------- diff --git a/conf/templates/masters b/conf/templates/masters new file mode 100644 index 0000000..63fb8bb --- /dev/null +++ b/conf/templates/masters @@ -0,0 +1,16 @@ +# 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. + +localhost http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/monitor ---------------------------------------------------------------------- diff --git a/conf/templates/monitor b/conf/templates/monitor new file mode 100644 index 0000000..63fb8bb --- /dev/null +++ b/conf/templates/monitor @@ -0,0 +1,16 @@ +# 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. + +localhost http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/monitor_logger.xml ---------------------------------------------------------------------- diff --git a/conf/templates/monitor_logger.xml b/conf/templates/monitor_logger.xml new file mode 100644 index 0000000..91a7671 --- /dev/null +++ b/conf/templates/monitor_logger.xml @@ -0,0 +1,64 @@ +<?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/8d6a4cf6/conf/templates/slaves ---------------------------------------------------------------------- diff --git a/conf/templates/slaves b/conf/templates/slaves new file mode 100644 index 0000000..63fb8bb --- /dev/null +++ b/conf/templates/slaves @@ -0,0 +1,16 @@ +# 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. + +localhost http://git-wip-us.apache.org/repos/asf/accumulo/blob/8d6a4cf6/conf/templates/tracers ---------------------------------------------------------------------- diff --git a/conf/templates/tracers b/conf/templates/tracers new file mode 100644 index 0000000..63fb8bb --- /dev/null +++ b/conf/templates/tracers @@ -0,0 +1,16 @@ +# 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. + +localhost