You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2014/06/27 01:48:02 UTC
[05/13] ACCUMULO-2646 Generate config examples in assembly
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/assemble/conf/examples/crypto/accumulo-site.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/crypto/accumulo-site.xml b/assemble/conf/examples/crypto/accumulo-site.xml
new file mode 100644
index 0000000..b905017
--- /dev/null
+++ b/assemble/conf/examples/crypto/accumulo-site.xml
@@ -0,0 +1,171 @@
+<?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 directory used to store write-ahead logs on the local filesystem. 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 [oldpasswd] [newpasswd],
+ and then update this file.
+ </description>
+ </property>
+
+ <property>
+ <name>tserver.memory.maps.max</name>
+ <value>80M</value>
+ </property>
+
+ <property>
+ <name>tserver.cache.data.size</name>
+ <value>7M</value>
+ </property>
+
+ <property>
+ <name>tserver.cache.index.size</name>
+ <value>20M</value>
+ </property>
+
+ <property>
+ <name>trace.password</name>
+ <!--
+ change this to the root user's password, and/or change the user below
+ -->
+ <value>password</value>
+ </property>
+
+ <property>
+ <name>trace.user</name>
+ <value>root</value>
+ </property>
+
+ <property>
+ <name>tserver.sort.buffer.size</name>
+ <value>50M</value>
+ </property>
+
+ <property>
+ <name>tserver.walog.max.size</name>
+ <value>100M</value>
+ </property>
+
+ <property>
+ <name>general.classpaths</name>
+ <value>
+ $ACCUMULO_HOME/server/target/classes/,
+ $ACCUMULO_HOME/core/target/classes/,
+ $ACCUMULO_HOME/start/target/classes/,
+ $ACCUMULO_HOME/fate/target/classes/,
+ $ACCUMULO_HOME/proxy/target/classes/,
+ $ACCUMULO_HOME/examples/target/classes/,
+ $ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar,
+ $ACCUMULO_HOME/lib/[^.].*.jar,
+ $ZOOKEEPER_HOME/zookeeper[^.].*.jar,
+ $HADOOP_CONF_DIR,
+ $HADOOP_PREFIX/[^.].*.jar,
+ $HADOOP_PREFIX/lib/[^.].*.jar,
+ <!-- Comment the following for hadoop-1 -->
+ $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,
+ /usr/lib/hadoop/.*.jar,
+ /usr/lib/hadoop/lib/.*.jar,
+ /usr/lib/hadoop-hdfs/.*.jar,
+ /usr/lib/hadoop-mapreduce/.*.jar,
+ /usr/lib/hadoop-yarn/.*.jar,
+ </value>
+ <description>Classpaths that accumulo checks for updates and class files.
+ When using the Security Manager, please remove the ".../target/classes/" values.
+ </description>
+ </property>
+
+ <property>
+ <name>crypto.module.class</name>
+ <value>org.apache.accumulo.core.security.crypto.DefaultCryptoModule</value>
+ </property>
+ <property>
+ <name>crypto.cipher.suite</name>
+ <value>AES/CFB/NoPadding</value>
+ </property>
+ <property>
+ <name>crypto.cipher.algorithm.name</name>
+ <value>AES</value>
+ </property>
+ <property>
+ <name>crypto.cipher.key.length</name>
+ <value>128</value>
+ </property>
+ <property>
+ <name>crypto.secure.rng</name>
+ <value>SHA1PRNG</value>
+ </property>
+ <property>
+ <name>crypto.secure.rng.provider</name>
+ <value>SUN</value>
+ </property>
+
+ <property>
+ <name>crypto.secret.key.encryption.strategy.class</name>
+ <value>org.apache.accumulo.core.security.crypto.CachingHDFSSecretKeyEncryptionStrategy</value>
+ </property>
+
+ <property>
+ <name>crypto.default.key.strategy.cipher.suite</name>
+ <value>AES/ECB/NoPadding</value>
+ </property>
+<!--
+ These properties can be useful for situations where you are conducting unit tests without HDFS
+ running.
+-->
+
+<!--
+ <property>
+ <name>crypto.default.key.strategy.hdfs.uri</name>
+ <value>file:///</value>
+ </property>
+ <property>
+ <name>crypto.default.key.strategy.key.location</name>
+ <value>/tmp/test.secret.key</value>
+ </property>
+-->
+</configuration>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/assemble/conf/examples/vfs-classloader/accumulo-site.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/examples/vfs-classloader/accumulo-site.xml b/assemble/conf/examples/vfs-classloader/accumulo-site.xml
new file mode 100644
index 0000000..2578fc8
--- /dev/null
+++ b/assemble/conf/examples/vfs-classloader/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>
+ <!-- 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>80M</value>
+ </property>
+
+ <property>
+ <name>tserver.cache.data.size</name>
+ <value>7M</value>
+ </property>
+
+ <property>
+ <name>tserver.cache.index.size</name>
+ <value>20M</value>
+ </property>
+
+ <property>
+ <name>trace.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>50M</value>
+ </property>
+
+ <property>
+ <name>tserver.walog.max.size</name>
+ <value>100M</value>
+ </property>
+
+ <property>
+ <name>general.maven.project.basedir</name>
+ <value></value>
+ </property>
+
+ <property>
+ <name>general.classpaths</name>
+ <value>
+ $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_HOME/zookeeper[^.].*.jar,
+ $HADOOP_CONF_DIR,
+ $HADOOP_PREFIX/[^.].*.jar,
+ $HADOOP_PREFIX/lib/[^.].*.jar,
+ <!-- Comment the following for hadoop-1 -->
+ $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,
+ /usr/lib/hadoop/.*.jar,
+ /usr/lib/hadoop/lib/.*.jar,
+ /usr/lib/hadoop-hdfs/.*.jar,
+ /usr/lib/hadoop-mapreduce/.*.jar,
+ /usr/lib/hadoop-yarn/.*.jar,
+ </value>
+ <description>Classpaths that accumulo checks for updates and class files.</description>
+ </property>
+
+ <!-- VFS ClassLoader Settings -->
+
+ <!--
+ At a minimum the general.vfs.classpath property must be set. After this is set in the configuration, the bin/bootstrap_hdfs.sh can be
+ run to move the jars into the required locations. All other properties are optional. This example demonstrates using hdfs, other
+ protocols supported by the Apache Commons VFS software can be used but are not demonstrated here. If the accumulo-site.xml changes
+ after initial configuration, you will want to copy the file to all of the slave hosts.
+ -->
+ <property>
+ <name>general.vfs.classpaths</name>
+ <value>hdfs://localhost:8020/accumulo/system-classpath</value>
+ <description>Configuration for a system level vfs classloader. Accumulo jars can be configured here and loaded out of HDFS.</description>
+ </property>
+
+ <property>
+ <name>general.vfs.cache.dir</name>
+ <value>/tmp</value>
+ <description>Directory to use for the vfs cache. The cache will keep a soft reference to all of the classes loaded in the VM.
+ This should be on local disk on
+ each node with sufficient space. It defaults to /tmp and will use a directory with the
+ format "accumulo-vfs-cache-" + System.getProperty("user.name",
+ "nouser")
+ </description>
+ </property>
+
+ <!--
+ Properties in this category define a classpath for a named context. These properties start with the category prefix, followed by a context name.
+ The value is a comma seperated list of URIs. Supports full regex on filename alone. For example
+ general.vfs.context.classpath.cx1=hdfs://nn1:9902/mylibdir/*.jar. You can enable post delegation for a context, which will load classes from
+ the context first instead of the parent first. Do this by setting general.vfs.context.classpath.<name>.delegation=post, where <name>
+ is your context name. If delegation is not specified, it defaults to loading from parent classloader first.
+ -->
+
+ <property>
+ <name>general.vfs.context.classpath.application1</name>
+ <value>hdfs://localhost:8020/application1/classpath/*.jar</value>
+ <description>classpath for the application1 context</description>
+ </property>
+
+ <property>
+ <name>general.vfs.context.classpath.application1.delegation=post</name>
+ <value>hdfs://localhost:8020/application1/classpath/*.jar</value>
+ <description>classpath for the application1 context, but the classloader parent delegation model is inverted to prefer the jars/classes in this directory
+ </description>
+ </property>
+
+ <property>
+ <name>general.vfs.context.classpath.application2</name>
+ <value>hdfs://localhost:8020/application1/classpath/*.jar,hdfs://localhost:8020/application2/classpath/*.jar</value>
+ <description>classpath for the application2 context, includes all of the jars in app1 context</description>
+ </property>
+
+ <!--
+ Once classpath context are configured, tables can be configured in the shell to use them via the table.classpath.context property.
+ For example, all of the tables related to application1 would have the context.classpath property set to 'application1'.
+ -->
+
+</configuration>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/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..e136a3f
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/accumulo-metrics.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/accumulo-metrics.xml b/assemble/conf/templates/accumulo-metrics.xml
new file mode 100644
index 0000000..60f9f8d
--- /dev/null
+++ b/assemble/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/037ad964/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..08c905b
--- /dev/null
+++ b/assemble/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/(?!slf4j)[^.].*.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/(?!slf4j)[^.].*.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/037ad964/assemble/conf/templates/accumulo.policy.example
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/accumulo.policy.example b/assemble/conf/templates/accumulo.policy.example
new file mode 100644
index 0000000..2964f06
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/auditLog.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/auditLog.xml b/assemble/conf/templates/auditLog.xml
new file mode 100644
index 0000000..9111811
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/gc
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/gc b/assemble/conf/templates/gc
new file mode 100644
index 0000000..63fb8bb
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/generic_logger.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/generic_logger.properties b/assemble/conf/templates/generic_logger.properties
new file mode 100644
index 0000000..06e28df
--- /dev/null
+++ b/assemble/conf/templates/generic_logger.properties
@@ -0,0 +1,58 @@
+# 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=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}_${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=4560
+log4j.appender.ASYNC.Application=${org.apache.accumulo.core.application}:${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.apache.accumulo.examples.wikisearch=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/037ad964/assemble/conf/templates/generic_logger.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/generic_logger.xml b/assemble/conf/templates/generic_logger.xml
new file mode 100644
index 0000000..db79efe
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/log4j.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/log4j.properties b/assemble/conf/templates/log4j.properties
new file mode 100644
index 0000000..f3eaddc
--- /dev/null
+++ b/assemble/conf/templates/log4j.properties
@@ -0,0 +1,42 @@
+# 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.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/037ad964/assemble/conf/templates/masters
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/masters b/assemble/conf/templates/masters
new file mode 100644
index 0000000..63fb8bb
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/monitor
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/monitor b/assemble/conf/templates/monitor
new file mode 100644
index 0000000..63fb8bb
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/monitor_logger.properties
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/monitor_logger.properties b/assemble/conf/templates/monitor_logger.properties
new file mode 100644
index 0000000..4dada2d
--- /dev/null
+++ b/assemble/conf/templates/monitor_logger.properties
@@ -0,0 +1,44 @@
+# 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/037ad964/assemble/conf/templates/monitor_logger.xml
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/monitor_logger.xml b/assemble/conf/templates/monitor_logger.xml
new file mode 100644
index 0000000..91a7671
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/slaves
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/slaves b/assemble/conf/templates/slaves
new file mode 100644
index 0000000..63fb8bb
--- /dev/null
+++ b/assemble/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/037ad964/assemble/conf/templates/tracers
----------------------------------------------------------------------
diff --git a/assemble/conf/templates/tracers b/assemble/conf/templates/tracers
new file mode 100644
index 0000000..63fb8bb
--- /dev/null
+++ b/assemble/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
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index 6b090e4..505f0f9 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -161,6 +161,30 @@
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-example-configs</id>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <phase>generate-resources</phase>
+ <configuration>
+ <executable>bash</executable>
+ <arguments>
+ <argument>-c</argument>
+ <argument>for s in 1GB 2GB 3GB 512MB; do bin/bootstrap_config.sh -o -d target/example-configs/$s/standalone -s $s -j -v 2; bin/bootstrap_config.sh -o -d target/example-configs/$s/native-standalone -s $s -n -v 2; done</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
<profiles>
<profile>
<id>apache-release</id>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/assemble/src/main/assemblies/component.xml
----------------------------------------------------------------------
diff --git a/assemble/src/main/assemblies/component.xml b/assemble/src/main/assemblies/component.xml
index 32ceb87..a8f7716 100644
--- a/assemble/src/main/assemblies/component.xml
+++ b/assemble/src/main/assemblies/component.xml
@@ -63,7 +63,7 @@
</dependencySets>
<fileSets>
<fileSet>
- <directory>../bin</directory>
+ <directory>bin</directory>
<directoryMode>0755</directoryMode>
<fileMode>0755</fileMode>
</fileSet>
@@ -77,24 +77,6 @@
</includes>
</fileSet>
<fileSet>
- <directory>../lib/native</directory>
- <directoryMode>0755</directoryMode>
- <fileMode>0644</fileMode>
- <includes>
- <include>**/*.so</include>
- <include>**/*.jnilib</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>../server/src/main/c++</directory>
- <directoryMode>0755</directoryMode>
- <fileMode>0644</fileMode>
- <excludes>
- <exclude>**/*.so</exclude>
- <exclude>**/*.jnilib</exclude>
- </excludes>
- </fileSet>
- <fileSet>
<directory>./</directory>
<outputDirectory>/lib/ext</outputDirectory>
<directoryMode>0755</directoryMode>
@@ -131,26 +113,47 @@
</includes>
</fileSet>
<fileSet>
- <directory>../conf</directory>
+ <directory>conf</directory>
<directoryMode>0755</directoryMode>
<fileMode>0755</fileMode>
<includes>
- <include>examples/**/*.sh</include>
- <include>templates/*.sh</include>
+ <include>**/*.sh</include>
</includes>
</fileSet>
<fileSet>
- <directory>../conf</directory>
+ <directory>conf</directory>
+ <directoryMode>0755</directoryMode>
+ <fileMode>0644</fileMode>
+ <excludes>
+ <exclude>**/*.sh</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <!-- preserve old behavior of extra copy in conf -->
+ <directory>conf/templates</directory>
+ <outputDirectory>/conf</outputDirectory>
<directoryMode>0755</directoryMode>
<fileMode>0644</fileMode>
<includes>
<include>accumulo.policy.example</include>
- <include>examples/**</include>
- <include>templates/**</include>
</includes>
+ </fileSet>
+ <fileSet>
+ <directory>target/example-configs</directory>
+ <outputDirectory>/conf/examples</outputDirectory>
+ <directoryMode>0755</directoryMode>
+ <fileMode>0755</fileMode>
+ <includes>
+ <include>**/*.sh</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>target/example-configs</directory>
+ <outputDirectory>/conf/examples</outputDirectory>
+ <directoryMode>0755</directoryMode>
+ <fileMode>0644</fileMode>
<excludes>
- <exclude>examples/**/*.sh</exclude>
- <exclude>templates/*.sh</exclude>
+ <exclude>**/*.sh</exclude>
</excludes>
</fileSet>
<fileSet>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/bin/LogForwarder.sh
----------------------------------------------------------------------
diff --git a/bin/LogForwarder.sh b/bin/LogForwarder.sh
deleted file mode 100755
index 5fe7871..0000000
--- a/bin/LogForwarder.sh
+++ /dev/null
@@ -1,50 +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.
-
-#
-# This script executes a program that will forward some or all of the logs to a running instance of Chainsaw v2.
-# To use this script, start Chainsaw on a host and create a new XMLSocketReceiver. This script
-# accepts the following command line parameters
-#
-# host [required] - host running Chainsaw. Must be accessible via the network from this server
-# port [required] - port that XMLSocketReceiver is listening on.
-# filter [optional] - filter for log file names, * and ? are valid wildcards
-# start [optional] - filter log messages beginning at this time (format is yyyyMMddHHmmss)
-# end [optional] - filter log messages ending at this time (default is now, format is yyyyMMddHHmmss)
-# level [optional] - filter log messages with this level and higher
-# regex [optional] - filter log messages that match this regex (follows java.util.regex.Pattern syntax)
-#
-#
-# Example:
-#
-# LogForwarder.sh -h 127.0.0.1 -p 4448 -f tserver* -s 2010010100001 -e 20100101235959 -l INFO -m .*scan.*
-#
-
-# 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
-done
-bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
-script=$( basename "$SOURCE" )
-# Stop: Resolve Script Directory
-
-. "$bin"/config.sh
-
-${JAVA_HOME}/bin/java -cp $ACCUMULO_HOME/lib org.apache.accumulo.server.util.SendLogToChainsaw -d $ACCUMULO_LOG_DIR "$@"
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/bin/accumulo
----------------------------------------------------------------------
diff --git a/bin/accumulo b/bin/accumulo
deleted file mode 100755
index bdd742d..0000000
--- a/bin/accumulo
+++ /dev/null
@@ -1,171 +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.
-
-# 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
-done
-bin="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
-script=$( basename "${SOURCE}" )
-# Stop: Resolve Script Directory
-
-. "${bin}"/config.sh
-
-START_JAR="${ACCUMULO_HOME}/lib/accumulo-start.jar"
-if [ ! -f "$START_JAR" ]; then
- if [ -x /bin/rpm ]; then
- START_JAR=$(echo $(/bin/rpm -E "%{_javadir}/accumulo/"accumulo-start-*.jar))
- fi
-fi
-
-#
-# Resolve a program to its installation directory
-#
-locationByProgram()
-{
- RESULT=$( which "$1" )
- if [[ "$?" != 0 && -z "${RESULT}" ]]; then
- echo "Cannot find '$1' and '$2' is not set in $ACCUMULO_CONF_DIR/accumulo-env.sh"
- exit 1
- fi
- while [ -h "${RESULT}" ]; do # resolve $RESULT until the file is no longer a symlink
- DIR="$( cd -P "$( dirname "$RESULT" )" && pwd )"
- RESULT="$(readlink "${RESULT}")"
- [[ "${RESULT}" != /* ]] && RESULT="${DIR}/${RESULT}" # if $RESULT was a relative symlink, we need to resolve it relative to the path where the symlink file was located
- done
- # find the relative home directory, accounting for an extra bin directory
- RESULT=$(dirname $(dirname "${RESULT}") )
- echo "Auto-set ${2} to '${RESULT}'. To suppress this message, set ${2} in conf/accumulo-env.sh"
- eval "${2}=${RESULT}"
-}
-
-test -z "${JAVA_HOME}" && locationByProgram java JAVA_HOME
-test -z "${HADOOP_PREFIX}" && locationByProgram hadoop HADOOP_PREFIX
-test -z "${ZOOKEEPER_HOME}" && locationByProgram zkCli.sh ZOOKEEPER_HOME
-
-DEFAULT_GENERAL_JAVA_OPTS=""
-
-#
-# ACCUMULO_XTRAJARS is where all of the commandline -add items go into for reading by accumulo.
-# It also holds the JAR run with the jar command and, if possible, any items in the JAR manifest's Class-Path.
-#
-if [ "$1" = "-add" ] ; then
- export ACCUMULO_XTRAJARS="$2"
- shift 2
-else
- export ACCUMULO_XTRAJARS=""
-fi
-if [ "$1" = "jar" -a -f "$2" ] ; then
- if [[ $2 =~ ^/ ]]; then
- jardir="$(dirname "$2")"
- jarfile="$2"
- else
- jardir="$(pwd)"
- jarfile="${jardir}/${2}"
- fi
- if jar tf "$jarfile" | grep -q META-INF/MANIFEST.MF ; then
- cp="$(unzip -p "$jarfile" META-INF/MANIFEST.MF | grep ^Class-Path: | sed 's/^Class-Path: *//')"
- if [ -n "$cp" ] ; then
- for j in $cp; do
- if [ "$j" != "Class-Path:" ]; then
- ACCUMULO_XTRAJARS="${jardir}/${j},$ACCUMULO_XTRAJARS"
- fi
- done
- fi
- fi
- ACCUMULO_XTRAJARS="${jarfile},$ACCUMULO_XTRAJARS"
-fi
-
-#
-# Set up -D switches for JAAS and Kerberos if env variables set
-#
-if [ ! -z ${ACCUMULO_JAAS_CONF} ]; then
- ACCUMULO_GENERAL_OPTS="${ACCUMULO_GENERAL_OPTS} -Djava.security.auth.login.config=${ACCUMULO_JAAS_CONF}"
-fi
-
-if [ ! -z ${ACCUMULO_KRB5_CONF} ]; then
- ACCUMULO_GENERAL_OPTS="${ACCUMULO_GENERAL_OPTS} -Djava.security.krb5.conf=${ACCUMULO_KRB5_CONF}"
-fi
-
-#
-# Add appropriate options for process type
-#
-case "$1" in
-master) export ACCUMULO_OPTS="${ACCUMULO_GENERAL_OPTS} ${ACCUMULO_MASTER_OPTS}" ;;
-gc) export ACCUMULO_OPTS="${ACCUMULO_GENERAL_OPTS} ${ACCUMULO_GC_OPTS}" ;;
-tserver) export ACCUMULO_OPTS="${ACCUMULO_GENERAL_OPTS} ${ACCUMULO_TSERVER_OPTS}" ;;
-monitor) export ACCUMULO_OPTS="${ACCUMULO_GENERAL_OPTS} ${ACCUMULO_MONITOR_OPTS}" ;;
-logger) export ACCUMULO_OPTS="${ACCUMULO_GENERAL_OPTS} ${ACCUMULO_LOGGER_OPTS}" ;;
-*) export ACCUMULO_OPTS="${ACCUMULO_GENERAL_OPTS} ${ACCUMULO_OTHER_OPTS}" ;;
-esac
-
-XML_FILES="${ACCUMULO_CONF_DIR}"
-LOG4J_JAR=$(find -H "${HADOOP_PREFIX}/lib" "${HADOOP_PREFIX}"/share/hadoop/common/lib -name 'log4j*.jar' -print 2>/dev/null | head -1)
-CLASSPATH="${XML_FILES}:${START_JAR}:${LOG4J_JAR}"
-
-if [ -z "${JAVA_HOME}" -o ! -d "${JAVA_HOME}" ]; then
- echo "JAVA_HOME is not set or is not a directory. Please make sure it's set globally or in conf/accumulo-env.sh"
- exit 1
-fi
-if [ -z "${HADOOP_PREFIX}" -o ! -d "${HADOOP_PREFIX}" ]; then
- echo "HADOOP_PREFIX is not set or is not a directory. Please make sure it's set globally or in conf/accumulo-env.sh"
- exit 1
-fi
-if [ -z "${ZOOKEEPER_HOME}" -o ! -d "${ZOOKEEPER_HOME}" ]; then
- echo "ZOOKEEPER_HOME is not set or is not a directory. Please make sure it's set globally or in conf/accumulo-env.sh"
- exit 1
-fi
-if [ -z "${ACCUMULO_LOG_DIR}" ]; then
- echo "ACCUMULO_LOG_DIR is not set. Please make sure it's set globally or in conf/accumulo-env.sh"
- exit 1
-fi
-
-if [ ! -d "${ACCUMULO_LOG_DIR}" ]; then
- mkdir -p "$ACCUMULO_LOG_DIR"
-fi
-
-# This is default for hadoop 2.x;
-# for hadoop 1.0, 1.1, specify (DY)LD_LIBRARY_PATH
-# explicitly in ${ACCUMULO_HOME}/conf/accumulo-env.sh
-# usually something like:
-# ${HADOOP_PREFIX}/lib/native/${PLATFORM}
-if [ -e "${HADOOP_PREFIX}/lib/native/libhadoop.so" ]; then
- LIB_PATH="${HADOOP_PREFIX}/lib/native"
- LD_LIBRARY_PATH="${LIB_PATH}:${LD_LIBRARY_PATH}" # For Linux
- DYLD_LIBRARY_PATH="${LIB_PATH}:${DYLD_LIBRARY_PATH}" # For Mac
-fi
-
-# Export the variables just in case they are not exported
-# This makes them available to java
-export JAVA_HOME HADOOP_PREFIX ZOOKEEPER_HOME LD_LIBRARY_PATH DYLD_LIBRARY_PATH
-#
-# app isn't used anywhere, but it makes the process easier to spot when ps/top/snmp truncate the command line
-JAVA="${JAVA_HOME}/bin/java"
-exec $JAVA "-Dapp=$1" \
- $ACCUMULO_OPTS \
- -classpath "${CLASSPATH}" \
- -XX:OnOutOfMemoryError="${ACCUMULO_KILL_CMD:-kill -9 %p}" \
- -XX:-OmitStackTraceInFastThrow \
- -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl \
- -Dorg.apache.accumulo.core.home.dir="${ACCUMULO_HOME}" \
- -Dhadoop.home.dir="${HADOOP_PREFIX}" \
- -Dzookeeper.home.dir="${ZOOKEEPER_HOME}" \
- org.apache.accumulo.start.Main \
- "$@"
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/bin/bootstrap_config.sh
----------------------------------------------------------------------
diff --git a/bin/bootstrap_config.sh b/bin/bootstrap_config.sh
deleted file mode 100755
index 5d36499..0000000
--- a/bin/bootstrap_config.sh
+++ /dev/null
@@ -1,319 +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.
-
-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
-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=
-
-#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"
-
-#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 "${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 "${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
-
-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
-
-#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
-
-#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
-echo "Setup complete"
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/bin/bootstrap_hdfs.sh
----------------------------------------------------------------------
diff --git a/bin/bootstrap_hdfs.sh b/bin/bootstrap_hdfs.sh
deleted file mode 100755
index 6f38f63..0000000
--- a/bin/bootstrap_hdfs.sh
+++ /dev/null
@@ -1,84 +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.
-
-# 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
-done
-bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
-# Stop: Resolve Script Directory
-
-. "$bin"/config.sh
-
-#
-# Find the system context directory in HDFS
-#
-SYSTEM_CONTEXT_HDFS_DIR=$(grep -A1 "general.vfs.classpaths" "$ACCUMULO_CONF_DIR/accumulo-site.xml" | tail -1 | perl -pe 's/\s+<value>//; s/<\/value>//; s|[^/]+$||; print $ARGV[1]')
-
-if [ -z "$SYSTEM_CONTEXT_HDFS_DIR" ]
-then
- echo "Your accumulo-site.xml file is not set up for the HDFS Classloader. Please add the following to your accumulo-site.xml file:"
- echo ""
- echo "<property>"
- echo " <name>general.vfs.classpaths</name>"
- echo " <value>hdfs://host:port/dir</value>"
- echo " <description>location of the jars for the default (system) context</description>"
- echo "</property>"
- exit 1
-fi
-
-#
-# Create the system context directy in HDFS if it does not exist
-#
-"$HADOOP_PREFIX/bin/hadoop" fs -ls "$SYSTEM_CONTEXT_HDFS_DIR" > /dev/null
-if [ $? -ne 0 ]; then
- "$HADOOP_PREFIX/bin/hadoop" fs -mkdir "$SYSTEM_CONTEXT_HDFS_DIR" > /dev/null
-fi
-
-#
-# Replicate to all slaves to avoid network contention on startup
-#
-SLAVES="$ACCUMULO_CONF_DIR/slaves"
-NUM_SLAVES=$(egrep -v '(^#|^\s*$)' "$SLAVES" | wc -l)
-
-#let each datanode service around 50 clients
-let "REP=$NUM_SLAVES/50"
-
-if [ $REP -lt 3 ]; then
- REP=3
-fi
-
-#
-# Copy all jars in lib to the system context directory
-#
-"$HADOOP_PREFIX/bin/hadoop" fs -moveFromLocal "$ACCUMULO_HOME"/lib/*.jar "$SYSTEM_CONTEXT_HDFS_DIR" > /dev/null
-"$HADOOP_PREFIX/bin/hadoop" fs -setrep -R $REP "$SYSTEM_CONTEXT_HDFS_DIR" > /dev/null
-
-#
-# We need two of the jars in lib, copy them back out and remove them from the system context dir
-#
-"$HADOOP_PREFIX/bin/hadoop" fs -copyToLocal "$SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2.jar" "$ACCUMULO_HOME/lib/." > /dev/null
-"$HADOOP_PREFIX/bin/hadoop" fs -rmr "$SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2.jar" > /dev/null
-"$HADOOP_PREFIX/bin/hadoop" fs -copyToLocal "$SYSTEM_CONTEXT_HDFS_DIR/accumulo-start.jar" "$ACCUMULO_HOME/lib/." > /dev/null
-"$HADOOP_PREFIX/bin/hadoop" fs -rmr "$SYSTEM_CONTEXT_HDFS_DIR/accumulo-start.jar" > /dev/null
-for f in `cat $ACCUMULO_CONF_DIR/slaves`
-do
- rsync -ra --delete $ACCUMULO_HOME `dirname $ACCUMULO_HOME`
-done
http://git-wip-us.apache.org/repos/asf/accumulo/blob/037ad964/bin/build_native_library.sh
----------------------------------------------------------------------
diff --git a/bin/build_native_library.sh b/bin/build_native_library.sh
deleted file mode 100755
index 907ce2c..0000000
--- a/bin/build_native_library.sh
+++ /dev/null
@@ -1,74 +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.
-
-# 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
-done
-bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
-script=$( basename "$SOURCE" )
-# Stop: Resolve Script Directory
-
-
-lib="${bin}/../lib"
-native_tarball="${lib}/accumulo-native.tar.gz"
-final_native_target="${lib}/native"
-
-if [[ ! -f $native_tarball ]]; then
- echo "Could not find native code artifact: ${native_tarball}";
- exit 1
-fi
-
-# Make the destination for the native library
-mkdir -p "${final_native_target}"
-
-# Make a directory for us to unpack the native source into
-TMP_DIR=`mktemp -d /tmp/accumulo-native.XXXX` || exit 1
-
-# Unpack the tarball to our temp directory
-tar xf "${native_tarball}" -C "${TMP_DIR}"
-
-if [[ $? -ne 0 ]]; then
- echo "Failed to unpack native tarball to ${TMP_DIR}"
- exit 1
-fi
-
-# Move to the first (only) directory in our unpacked tarball
-native_dir=`find "${TMP_DIR}" -maxdepth 1 -mindepth 1 -type d`
-
-cd "${native_dir}"
-
-# Make the native library
-export USERFLAGS=$@
-make
-
-# Make sure it didn't fail
-if [[ $? -ne 0 ]]; then
- echo "Make failed!"
- exit 1
-fi
-
-# "install" the artifact
-cp libaccumulo.* "${final_native_target}"
-
-# Clean up our temp directory
-rm -rf "${TMP_DIR}"
-
-echo "Successfully installed native library"