ACCUMULO-4490 Reorganized files * Moved most bash scripts in bin/ to scripts/ * Changed script filenames to use dash rather than underscore * Moved config templates from conf/templates/ to conf/examples/
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/24ba5568 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/24ba5568 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/24ba5568 Branch: refs/heads/master Commit: 24ba55684ba3b6dafbf6abb4c994cd6e0f0688e7 Parents: 8aede75 Author: Mike Walch <mwa...@apache.org> Authored: Fri Sep 30 14:25:12 2016 -0400 Committer: Mike Walch <mwa...@apache.org> Committed: Tue Nov 8 15:37:04 2016 -0500 ---------------------------------------------------------------------- assemble/bin/LogForwarder.sh | 50 --- assemble/bin/accumulo_watcher.sh | 133 ------ assemble/bin/bootstrap_config.sh | 407 ------------------- assemble/bin/bootstrap_hdfs.sh | 90 ---- assemble/bin/build_native_library.sh | 74 ---- assemble/bin/check-tservers | 199 --------- assemble/bin/config-server.sh | 85 ---- assemble/bin/config.sh | 172 -------- assemble/bin/generate_monitor_certificate.sh | 84 ---- assemble/bin/start-all.sh | 77 ---- assemble/bin/start-daemon.sh | 167 -------- assemble/bin/start-here.sh | 78 ---- assemble/bin/start-server.sh | 57 --- assemble/bin/stop-all.sh | 69 ---- assemble/bin/stop-here.sh | 53 --- assemble/bin/stop-server.sh | 59 --- assemble/bin/tdown.sh | 49 --- assemble/bin/tool.sh | 92 ----- assemble/bin/tup.sh | 45 -- assemble/conf/examples/accumulo-metrics.xml | 60 +++ assemble/conf/examples/auditLog.xml | 35 ++ assemble/conf/examples/client.conf | 20 + assemble/conf/examples/crypto/README | 23 -- assemble/conf/examples/crypto/accumulo-site.xml | 162 -------- assemble/conf/examples/gc | 16 + .../conf/examples/generic_logger.properties | 58 +++ assemble/conf/examples/generic_logger.xml | 83 ++++ .../hadoop-metrics2-accumulo.properties | 86 ++++ assemble/conf/examples/log4j.properties | 42 ++ assemble/conf/examples/masters | 16 + assemble/conf/examples/monitor | 16 + .../conf/examples/monitor_logger.properties | 44 ++ assemble/conf/examples/monitor_logger.xml | 64 +++ assemble/conf/examples/tracers | 16 + assemble/conf/examples/tservers | 16 + .../examples/vfs-classloader/accumulo-site.xml | 165 -------- assemble/conf/templates/accumulo-env.sh | 89 ---- assemble/conf/templates/accumulo-metrics.xml | 60 --- assemble/conf/templates/accumulo-site.xml | 176 -------- assemble/conf/templates/auditLog.xml | 35 -- assemble/conf/templates/client.conf | 20 - assemble/conf/templates/gc | 16 - .../conf/templates/generic_logger.properties | 58 --- assemble/conf/templates/generic_logger.xml | 83 ---- .../hadoop-metrics2-accumulo.properties | 86 ---- assemble/conf/templates/log4j.properties | 42 -- assemble/conf/templates/masters | 16 - assemble/conf/templates/monitor | 16 - .../conf/templates/monitor_logger.properties | 44 -- assemble/conf/templates/monitor_logger.xml | 64 --- assemble/conf/templates/tracers | 16 - assemble/conf/templates/tservers | 16 - assemble/scripts/accumulo-watcher.sh | 133 ++++++ assemble/scripts/bootstrap-config.sh | 407 +++++++++++++++++++ assemble/scripts/bootstrap-hdfs.sh | 90 ++++ assemble/scripts/build-native-library.sh | 74 ++++ assemble/scripts/check-tservers | 199 +++++++++ assemble/scripts/config-server.sh | 85 ++++ assemble/scripts/config.sh | 172 ++++++++ .../scripts/generate-monitor-certificate.sh | 84 ++++ assemble/scripts/log-forwarder.sh | 50 +++ assemble/scripts/start-all.sh | 77 ++++ assemble/scripts/start-daemon.sh | 167 ++++++++ assemble/scripts/start-here.sh | 78 ++++ assemble/scripts/start-server.sh | 57 +++ assemble/scripts/stop-all.sh | 69 ++++ assemble/scripts/stop-here.sh | 53 +++ assemble/scripts/stop-server.sh | 59 +++ assemble/scripts/tdown.sh | 49 +++ assemble/scripts/templates/accumulo-env.sh | 89 ++++ assemble/scripts/templates/accumulo-site.xml | 176 ++++++++ assemble/scripts/tool.sh | 92 +++++ assemble/scripts/tup.sh | 45 ++ 73 files changed, 2877 insertions(+), 3227 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/LogForwarder.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/LogForwarder.sh b/assemble/bin/LogForwarder.sh deleted file mode 100755 index d625580..0000000 --- a/assemble/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/24ba5568/assemble/bin/accumulo_watcher.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/accumulo_watcher.sh b/assemble/bin/accumulo_watcher.sh deleted file mode 100755 index 9fb13a2..0000000 --- a/assemble/bin/accumulo_watcher.sh +++ /dev/null @@ -1,133 +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. - -LOGHOST=$1 -shift -process=$1 - -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 - -CLEAN_EXIT="Clean Exit" -UNEXPECTED_EXCEPTION="Unexpected exception" -OOM_EXCEPTION="Out of memory exception" -ZKLOCK_LOST="ZKLock lost" -UNKNOWN_ERROR="Unknown error" - -ERRFILE=${ACCUMULO_LOG_DIR}/${process}_${LOGHOST}.err -OUTFILE=${ACCUMULO_LOG_DIR}/${process}_${LOGHOST}.out -DEBUGLOG=${ACCUMULO_LOG_DIR}/${process}_$(hostname).debug.log -export COMMAND="${bin}/accumulo \"\$@\"" - -logger -s "starting process $process at $(date)" -stopRunning="" -while [ -z "$stopRunning" ]; -do - eval $COMMAND 2> $ERRFILE - exit=$? - unset cause - if [ "$exit" -eq 0 ]; then - potentialStopRunning=$CLEAN_EXIT - elif [ "$exit" -eq 1 ]; then - potentialStopRunning=$UNEXPECTED_EXCEPTION - elif [ "$exit" -eq 130 ]; then - stopRunning="Control C detected, exiting" - elif [ "$exit" -eq 143 ]; then - stopRunning="Process terminated, exiting" - elif [ "$exit" -eq 137 ]; then - potentialStopRunning="Process killed, exiting" - fi - if [ -z "$stopRunning" ]; then - stopRunning=$potentialStopRunning; - - if [ $exit -eq 1 ]; then - source="exit code" - cause=$UNEXPECTED_EXCEPTION - elif tail -n50 $OUTFILE | grep "java.lang.OutOfMemoryError:" > /dev/null; then - source="logs" - cause=$OOM_EXCEPTION - elif [ "$process" = "tserver" ]; then - if tail -n50 $DEBUGLOG | grep "ERROR: Lost tablet server lock (reason =" > /dev/null ; then - source="logs" - cause=$ZKLOCK_LOST - fi - elif [ "$process" = "master" ]; then - if tail -n50 $DEBUGLOG | grep "ERROR: Master lock in zookeeper lost (reason =" > /dev/null ; then - source="logs" - cause=$ZKLOCK_LOST - fi - elif [ "$process" = "gc" ]; then - if tail -n50 $DEBUGLOG | grep "FATAL: GC lock in zookeeper lost (reason =" > /dev/null ; then - source="logs" - cause=$ZKLOCK_LOST - fi - elif [ "$process" = "monitor" ]; then - if tail -n50 $DEBUGLOG | grep "ERROR: Monitor lock in zookeeper lost (reason =" > /dev/null ; then - source="logs" - cause=$ZKLOCK_LOST - fi - elif [ $exit -ne 0 ]; then - source="exit code" - cause=$UNKNOWN_ERROR - fi - case $cause in - #Unknown exit code - "$UNKNOWN_ERROR") - #window doesn't matter when retries = 0 - RETRIES=0 - ;; - - "$UNEXPECTED_EXCEPTION") - WINDOW=$UNEXPECTED_TIMESPAN - RETRIES=$UNEXPECTED_RETRIES - ;; - - "$OOM_EXCEPTION") - WINDOW=$OOM_TIMESPAN - RETRIES=$OOM_RETRIES - ;; - - "$ZLOCK_LOST") - WINDOW=$ZKLOCK_TIMESPAN - RETRIES=$ZKLOCK_RETRIES - ;; - esac - - if [ -n "$cause" ]; then - stopRunning="" - declare -i attempts - attempts="`jobs | grep "reason$cause" | wc -l`+1" - if [ "$RETRIES" -le $attempts ]; then - stopRunning="$process encountered $cause in $source with exit code $exit- quitting ($attempts/$RETRIES in $WINDOW seconds)" - # kill all sleeps now - for list in `jobs | cut -b 2-2`; do kill %$list; done - else - logger -s "$process encountered $cause in $source with exit code $exit- retrying ($attempts/$RETRIES in $WINDOW seconds)" - eval "(sleep $WINDOW ; echo "reason$cause" >> /dev/null) &" - fi - fi - fi -done -logger -s $stopRunning http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/bootstrap_config.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/bootstrap_config.sh b/assemble/bin/bootstrap_config.sh deleted file mode 100755 index 44ae2ac..0000000 --- a/assemble/bin/bootstrap_config.sh +++ /dev/null @@ -1,407 +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 (long options not available on all platforms): - -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' - -k, --kerberos Configure for use with Kerberos - -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= -KERBEROS= - -#Execute getopt -if [[ $(uname -s) == "Linux" ]]; then - args=$(getopt -o "b:d:s:njokv:h" -l "basedir:,dir:,size:,native,jvm,overwrite,kerberos,version:,help" -q -- "$@") -else # Darwin, BSD - args=$(getopt b:d:s:njokv:h $*) -fi - -#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;; - -k|--kerberos) - KERBEROS="true" - 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 "Copying 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_shell="${_1GB_other}" - -_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_shell="${_2GB_other}" - -_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_shell="${_3GB_other}" - -_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_shell="${_512MB_other}" - -_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 2' 'HDP 2.0/2.1' 'HDP 2.2' 'IOP 4.1'; do - if [ "${HADOOP}" == "Hadoop 2" ]; then - HADOOP_VERSION="2" - elif [ "${HADOOP}" == "HDP 2.0/2.1" ]; then - HADOOP_VERSION="HDP2" - elif [ "${HADOOP}" == "HDP 2.2" ]; then - HADOOP_VERSION="HDP2.2" - elif [ "${HADOOP}" == "IOP 4.1" ]; then - HADOOP_VERSION="IOP4.1" - fi - echo "Using Hadoop version '${HADOOP_VERSION}' configuration" - echo - break - done -elif [[ "${HADOOP_VERSION}" != "2" && "${HADOOP_VERSION}" != "HDP2" && "${HADOOP_VERSION}" != "HDP2.2" ]]; then - echo "Invalid Hadoop version" - echo "Supported Hadoop versions: '2', 'HDP2', 'HDP2.2'" - exit 1 -fi - -TRACE_USER="root" - -if [[ ! -z "${KERBEROS}" ]]; then - echo - read -p "Enter server's Kerberos principal: " PRINCIPAL - read -p "Enter server's Kerberos keytab: " KEYTAB - TRACE_USER="${PRINCIPAL}" -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" -SHELL="_${SIZE}_shell" -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/\${shellHigh_shellLow}/${!SHELL}/" \ - -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=\${traceUser}=${TRACE_USER}=" \ - -e "s=\${mvnProjBaseDir}=${MAVEN_PROJ_BASEDIR}=" ${TEMPLATE_CONF_DIR}/$ACCUMULO_SITE > ${CONF_DIR}/$ACCUMULO_SITE - -# If we're not using kerberos, filter out the krb properties -if [[ -z "${KERBEROS}" ]]; then - sed -e 's/<!-- Kerberos requirements -->/<!-- Kerberos requirements --><!--/' \ - -e 's/<!-- End Kerberos requirements -->/--><!-- End Kerberos requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" -else - # Make the substitutions - sed -e "s!\${keytab}!${KEYTAB}!" \ - -e "s!\${principal}!${PRINCIPAL}!" \ - ${CONF_DIR}/${ACCUMULO_SITE} > temp - mv temp ${CONF_DIR}/${ACCUMULO_SITE} -fi - -# Configure hadoop version -if [[ "${HADOOP_VERSION}" == "2" ]]; then - sed -e 's/<!-- HDP 2.0 requirements -->/<!-- HDP 2.0 requirements --><!--/' \ - -e 's/<!-- End HDP 2.0 requirements -->/--><!-- End HDP 2.0 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- HDP 2.2 requirements -->/<!-- HDP 2.2 requirements --><!--/' \ - -e 's/<!-- End HDP 2.2 requirements -->/--><!-- End HDP 2.2 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- IOP 4.1 requirements -->/<!-- IOP 4.1 requirements --><!--/' \ - -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" -elif [[ "${HADOOP_VERSION}" == "HDP2" ]]; then - sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ - -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- HDP 2.2 requirements -->/<!-- HDP 2.2 requirements --><!--/' \ - -e 's/<!-- End HDP 2.2 requirements -->/--><!-- End HDP 2.2 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- IOP 4.1 requirements -->/<!-- IOP 4.1 requirements --><!--/' \ - -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" -elif [[ "${HADOOP_VERSION}" == "HDP2.2" ]]; then - sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ - -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- HDP 2.0 requirements -->/<!-- HDP 2.0 requirements --><!--/' \ - -e 's/<!-- End HDP 2.0 requirements -->/--><!-- End HDP 2.0 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- IOP 4.1 requirements -->/<!-- IOP 4.1 requirements --><!--/' \ - -e 's/<!-- End IOP 4.1 requirements -->/--><!-- End IOP 4.1 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" -elif [[ "${HADOOP_VERSION}" == "IOP4.1" ]]; then - sed -e 's/<!-- Hadoop 2 requirements -->/<!-- Hadoop 2 requirements --><!--/' \ - -e 's/<!-- End Hadoop 2 requirements -->/--><!-- End Hadoop 2 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- HDP 2.0 requirements -->/<!-- HDP 2.0 requirements --><!--/' \ - -e 's/<!-- End HDP 2.0 requirements -->/--><!-- End HDP 2.0 requirements -->/' \ - "${CONF_DIR}/$ACCUMULO_SITE" > temp - mv temp "${CONF_DIR}/$ACCUMULO_SITE" - sed -e 's/<!-- HDP 2.2 requirements -->/<!-- HDP 2.2 requirements --><!--/' \ - -e 's/<!-- End HDP 2.2 requirements -->/--><!-- End HDP 2.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 "WARNING: HADOOP_PREFIX not set, cannot automatically configure LD_LIBRARY_PATH to include Hadoop native libraries" - 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 "WARNING: The Hadoop 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 Accumulo 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/24ba5568/assemble/bin/bootstrap_hdfs.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/bootstrap_hdfs.sh b/assemble/bin/bootstrap_hdfs.sh deleted file mode 100755 index 1d2964a..0000000 --- a/assemble/bin/bootstrap_hdfs.sh +++ /dev/null @@ -1,90 +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/,.+$//; 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 where ##CLASSPATH## is one of the following formats:" - echo "A single directory: hdfs://host:port/directory/" - echo "A single directory with a regex: hdfs://host:port/directory/.*.jar" - echo "Multiple directories: hdfs://host:port/directory/.*.jar,hdfs://host:port/directory2/" - echo "" - echo "<property>" - echo " <name>general.vfs.classpaths</name>" - echo " <value>##CLASSPATH##</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 [[ $? != 0 ]]; then - "$HADOOP_PREFIX/bin/hadoop" fs -mkdir "$SYSTEM_CONTEXT_HDFS_DIR" > /dev/null - if [[ $? != 0 ]]; then - echo "Unable to create classpath directory at $SYSTEM_CONTEXT_HDFS_DIR" - exit 1 - fi -fi - -# -# Replicate to all tservers to avoid network contention on startup -# -TSERVERS=$ACCUMULO_CONF_DIR/tservers -NUM_TSERVERS=$(egrep -v '(^#|^\s*$)' "$TSERVERS" | wc -l) - -#let each datanode service around 50 clients -REP=$(( NUM_TSERVERS / 50 )) -(( REP < 3 )) && REP=3 - -# -# 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 some 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 -rm "$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 -rm "$SYSTEM_CONTEXT_HDFS_DIR/accumulo-start.jar" > /dev/null -"$HADOOP_PREFIX/bin/hadoop" fs -copyToLocal "$SYSTEM_CONTEXT_HDFS_DIR/slf4j*.jar" "$ACCUMULO_HOME/lib/." > /dev/null -"$HADOOP_PREFIX/bin/hadoop" fs -rm "$SYSTEM_CONTEXT_HDFS_DIR/slf4j*.jar" > /dev/null -for f in $(grep -v '^#' "$ACCUMULO_CONF_DIR/tservers") -do - rsync -ra --delete "$ACCUMULO_HOME" $(dirname "$ACCUMULO_HOME") -done http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/build_native_library.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/build_native_library.sh b/assemble/bin/build_native_library.sh deleted file mode 100755 index c2531ee..0000000 --- a/assemble/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}" || exit 1 - -# 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 [[ $? != 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}" || exit 1 - -# Make the native library -export USERFLAGS="$@" -make - -# Make sure it didn't fail -if [[ $? != 0 ]]; then - echo "Make failed!" - exit 1 -fi - -# "install" the artifact -cp libaccumulo.* "${final_native_target}" || exit 1 - -# Clean up our temp directory -rm -rf "${TMP_DIR}" - -echo "Successfully installed native library" http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/check-tservers ---------------------------------------------------------------------- diff --git a/assemble/bin/check-tservers b/assemble/bin/check-tservers deleted file mode 100755 index 7f9850e..0000000 --- a/assemble/bin/check-tservers +++ /dev/null @@ -1,199 +0,0 @@ -#! /usr/bin/env python - -# 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 will check the configuration and uniformity of all the nodes in a cluster. -# Checks -# each node is reachable via ssh -# login identity is the same -# the physical memory is the same -# the mounts are the same on each machine -# a set of writable locations (typically different disks) are in fact writable -# -# In order to check for writable partitions, you must configure the WRITABLE variable below. -# - -import subprocess -import time -import select -import os -import sys -import fcntl -import signal -if not sys.platform.startswith('linux'): - sys.stderr.write('This script only works on linux, sorry.\n') - sys.exit(1) - -TIMEOUT = 5 -WRITABLE = [] -#WRITABLE = ['/srv/hdfs1', '/srv/hdfs2', '/srv/hdfs3'] - -def ssh(tserver, *args): - 'execute a command on a remote tserver and return the Popen handle' - handle = subprocess.Popen( ('ssh', '-o', 'StrictHostKeyChecking=no', '-q', '-A', '-n', tserver) + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - handle.tserver = tserver - handle.finished = False - handle.out = '' - return handle - -def wait(handles, seconds): - 'wait for lots of handles simultaneously, and kill anything that doesn\'t return in seconds time\n' - 'Note that stdout will be stored on the handle as the "out" field and "finished" will be set to True' - handles = handles[:] - stop = time.time() + seconds - for h in handles: - fcntl.fcntl(h.stdout, fcntl.F_SETFL, os.O_NONBLOCK) - while handles and time.time() < stop: - wait = min(0, stop - time.time()) - handleMap = dict( [(h.stdout, h) for h in handles] ) - rd, wr, err = select.select(handleMap.keys(), [], [], wait) - for r in rd: - handle = handleMap[r] - while 1: - more = handle.stdout.read(1024) - if more == '': - handles.remove(handle) - handle.poll() - handle.wait() - handle.finished = True - handle.out += more - if len(more) < 1024: - break - for handle in handles: - os.kill(handle.pid, signal.SIGKILL) - handle.poll() - -def runAll(tservers, *cmd): - 'Run the given command on all the tservers, returns Popen handles' - handles = [] - for tserver in tservers: - handles.append(ssh(tserver, *cmd)) - wait(handles, TIMEOUT) - return handles - -def checkIdentity(tservers): - 'Ensure the login identity is consistent across the tservers' - handles = runAll(tservers, 'id', '-u', '-n') - bad = set() - myIdentity = os.popen('id -u -n').read().strip() - for h in handles: - if not h.finished or h.returncode != 0: - print '#', 'cannot look at identity on', h.tserver - bad.add(h.tserver) - else: - identity = h.out.strip() - if identity != myIdentity: - print '#', h.tserver, 'inconsistent identity', identity - bad.add(h.tserver) - return bad - -def checkMemory(tservers): - 'Run free on all tservers and look for weird results' - handles = runAll(tservers, 'free') - bad = set() - mem = {} - swap = {} - for h in handles: - if not h.finished or h.returncode != 0: - print '#', 'cannot look at memory on', h.tserver - bad.add(h.tserver) - else: - if h.out.find('Swap:') < 0: - print '#',h.tserver,'has no swap' - bad.add(h.tserver) - continue - lines = h.out.split('\n') - for line in lines: - if line.startswith('Mem:'): - mem.setdefault(line.split()[1],set()).add(h.tserver) - if line.startswith('Swap:'): - swap.setdefault(line.split()[1],set()).add(h.tserver) - # order memory sizes by most common - mems = sorted([(len(v), k, v) for k, v in mem.items()], reverse=True) - mostCommon = float(mems[0][1]) - for _, size, tservers in mems[1:]: - fract = abs(mostCommon - float(size)) / mostCommon - if fract > 0.05: - print '#',', '.join(tservers), ': unusual memory size', size - bad.update(tservers) - swaps = sorted([(len(v), k, v) for k, v in swap.items()], reverse=True) - mostCommon = float(mems[0][1]) - for _, size, tservers in swaps[1:]: - fract = abs(mostCommon - float(size) / mostCommon) - if fract > 0.05: - print '#',', '.join(tservers), ': unusual swap size', size - bad.update(tservers) - return bad - -def checkWritable(tservers): - 'Touch all the directories that should be writable by this user return any nodes that fail' - if not WRITABLE: - print '# WRITABLE value not configured, not checking partitions' - return [] - handles = runAll(tservers, 'touch', *WRITABLE) - bad = set() - for h in handles: - if not h.finished or h.returncode != 0: - bad.add(h.tserver) - print '#', h.tserver, 'some drives are not writable' - return bad - -def checkMounts(tservers): - 'Check the file systems that are mounted and report any that are unusual' - handles = runAll(tservers, 'mount') - mounts = {} - finished = set() - bad = set() - for handle in handles: - if handle.finished and handle.returncode == 0: - for line in handle.out.split('\n'): - words = line.split() - if len(words) < 5: continue - if words[4] == 'nfs': continue - if words[0].find(':/') >= 0: continue - mount = words[2] - mounts.setdefault(mount, set()).add(handle.tserver) - finished.add(handle.tserver) - else: - bad.add(handle.tserver) - print '#', handle.tserver, 'did not finish' - for m in sorted(mounts.keys()): - diff = finished - mounts[m] - if diff: - bad.update(diff) - print '#', m, 'not mounted on', ', '.join(diff) - return bad - -def main(argv): - if len(argv) < 1: - sys.stderr.write('Usage: check_tservers tservers\n') - sys.exit(1) - sys.stdin.close() - tservers = set() - for tserver in open(argv[0]): - hashPos = tserver.find('#') - if hashPos >= 0: - tserver = tserver[:hashPos] - tserver = tserver.strip() - if not tserver: continue - tservers.add(tserver) - bad = set() - for test in checkIdentity, checkMemory, checkMounts, checkWritable: - bad.update(test(tservers - bad)) - for tserver in sorted(tservers - bad): - print tserver - -main(sys.argv[1:]) http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/config-server.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/config-server.sh b/assemble/bin/config-server.sh deleted file mode 100755 index a9ae645..0000000 --- a/assemble/bin/config-server.sh +++ /dev/null @@ -1,85 +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. - -# Guarantees that Accumulo and its environment variables are set for start -# and stop scripts. Should always be run after config.sh. -# -# Parameters checked by script -# ACCUMULO_VERIFY_ONLY set to skip actions that would alter the local filesystem -# -# Values set by script that can be user provided. If not provided script attempts to infer. -# MONITOR Machine to run monitor daemon on. Used by start-here.sh script -# -# Iff ACCUMULO_VERIFY_ONLY is not set, this script will -# * Check for standalone mode (lack of masters and tservers files) -# - Do appropriate set up -# * Ensure the presense of local role files (masters, tservers, gc, tracers) -# -# Values always set by script. -# SSH Default ssh parameters used to start daemons -# - -unset MASTER1 -if [[ -f "$ACCUMULO_CONF_DIR/masters" ]]; then - MASTER1=$(egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/masters" | head -1) -fi - -if [[ -z "${MONITOR}" ]] ; then - MONITOR=$MASTER1 - if [[ -f "$ACCUMULO_CONF_DIR/monitor" ]]; then - MONITOR=$(egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/monitor" | head -1) - fi - if [[ -z "${MONITOR}" ]] ; then - echo "Could not infer a Monitor role. You need to either define the MONITOR env variable, define \"${ACCUMULO_CONF_DIR}/monitor\", or make sure \"${ACCUMULO_CONF_DIR}/masters\" is non-empty." - exit 1 - fi -fi -if [[ ! -f "$ACCUMULO_CONF_DIR/tracers" && -z "${ACCUMULO_VERIFY_ONLY}" ]]; then - if [[ -z "${MASTER1}" ]] ; then - echo "Could not find a master node to use as a default for the tracer role. Either set up \"${ACCUMULO_CONF_DIR}/tracers\" or make sure \"${ACCUMULO_CONF_DIR}/masters\" is non-empty." - exit 1 - else - echo "$MASTER1" > "$ACCUMULO_CONF_DIR/tracers" - fi - -fi - -if [[ ! -f "$ACCUMULO_CONF_DIR/gc" && -z "${ACCUMULO_VERIFY_ONLY}" ]]; then - if [[ -z "${MASTER1}" ]] ; then - echo "Could not infer a GC role. You need to either set up \"${ACCUMULO_CONF_DIR}/gc\" or make sure \"${ACCUMULO_CONF_DIR}/masters\" is non-empty." - exit 1 - else - echo "$MASTER1" > "$ACCUMULO_CONF_DIR/gc" - fi -fi - -SSH='ssh -qnf -o ConnectTimeout=2' - -# ACCUMULO-1985 provide a way to use the scripts and still bind to all network interfaces -export ACCUMULO_MONITOR_BIND_ALL=${ACCUMULO_MONITOR_BIND_ALL:-"false"} - -if [[ -z "${ACCUMULO_PID_DIR}" ]]; then - export ACCUMULO_PID_DIR="${ACCUMULO_HOME}/run" -fi -[[ -z ${ACCUMULO_VERIFY_ONLY} ]] && mkdir -p "${ACCUMULO_PID_DIR}" 2>/dev/null - -if [[ -z "${ACCUMULO_IDENT_STRING}" ]]; then - export ACCUMULO_IDENT_STRING="$USER" -fi - -# The number of .out and .err files to retain -export ACCUMULO_NUM_OUT_FILES=${ACCUMULO_NUM_OUT_FILES:-5} http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/config.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/config.sh b/assemble/bin/config.sh deleted file mode 100755 index adc0e03..0000000 --- a/assemble/bin/config.sh +++ /dev/null @@ -1,172 +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. - -# Guarantees that Accumulo and its environment variables are set. -# -# Parameters checked by script -# ACCUMULO_VERIFY_ONLY set to skip actions that would alter the local filesystem -# -# Values set by script that can be user provided. If not provided script attempts to infer. -# ACCUMULO_CONF_DIR Location where accumulo-env.sh, accumulo-site.xml and friends will be read from -# ACCUMULO_HOME Home directory for Accumulo -# ACCUMULO_LOG_DIR Directory for Accumulo daemon logs -# ACCUMULO_VERSION Accumulo version name -# HADOOP_PREFIX Prefix to the home dir for hadoop. -# -# Iff ACCUMULO_VERIFY_ONLY is not set, this script will -# * Ensure the existence of ACCUMULO_LOG_DIR on the current host -# -# Values always set by script. -# MALLOC_ARENA_MAX To work around a memory management bug (see ACCUMULO-847) -# HADOOP_HOME Home dir for hadoop. TODO fix this. -# -# Values set by script if certain files exist -# ACCUMULO_JAAS_CONF Location of jaas.conf file. Needed by JAAS for things like Kerberos based logins -# ACCUMULO_KRB5_CONF Location of krb5.conf file. Needed by Kerberos subsystems to find login servers -# -# NUMA related environment variables -# ACCUMULO_ENABLE_NUMACTL (Default: true) Use numactl if present on the system -# ACCUMULO_NUMACTL_OPTIONS (Default: --interleave=all) options to the numactl command - -if [ -z "${ACCUMULO_HOME}" ] ; then - # 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 - - ACCUMULO_HOME=$( cd -P "${bin}"/.. && pwd ) - export ACCUMULO_HOME -fi - -if [[ ! -d ${ACCUMULO_HOME} ]]; then - echo "ACCUMULO_HOME=${ACCUMULO_HOME} is not a valid directory. Please make sure it exists" - exit 1 -fi - -export ACCUMULO_CONF_DIR="${ACCUMULO_CONF_DIR:-$ACCUMULO_HOME/conf}" -if [[ -z $ACCUMULO_CONF_DIR || ! -d $ACCUMULO_CONF_DIR ]] -then - echo "ACCUMULO_CONF_DIR=$ACCUMULO_CONF_DIR is not a valid directory. Please make sure it exists" - exit 1 -fi - -if [[ -f $ACCUMULO_CONF_DIR/accumulo-env.sh ]] ; then - . "$ACCUMULO_CONF_DIR/accumulo-env.sh" -elif [[ -z $ACCUMULO_TEST ]] ; then - # - # Attempt to bootstrap configuration and continue - # - echo - echo 'Accumulo is not properly configured.' - echo - echo 'Try running $ACCUMULO_HOME/bin/bootstrap_config.sh and then editing' - echo '$ACCUMULO_HOME/conf/accumulo-env.sh' - echo - exit 1 -fi - -if [[ -f $ACCUMULO_CONF_DIR/slaves ]]; then - echo "ERROR: A 'slaves' file was found in $ACCUMULO_CONF_DIR/" - echo "Accumulo now reads tablet server hosts from 'tservers' and requires that the 'slaves' file not be present to reduce confusion." - echo "Please rename the 'slaves' file to 'tservers' or remove it if both exist." - exit 1 -fi - -if [[ ! -f $ACCUMULO_CONF_DIR/tservers ]]; then - echo "ERROR: A 'tservers' file was not found at $ACCUMULO_CONF_DIR/tservers" - echo "Please make sure it exists and is configured with tablet server hosts." - exit 1 -fi - -[[ -z $ACCUMULO_LOG_DIR ]] && ACCUMULO_LOG_DIR=$ACCUMULO_HOME/logs -[[ -z $ACCUMULO_VERIFY_ONLY ]] && mkdir -p $ACCUMULO_LOG_DIR 2>/dev/null - -export ACCUMULO_LOG_DIR - -if [[ -z "$HADOOP_PREFIX" ]] -then - HADOOP_PREFIX="$(which hadoop)" - if [[ -z "$HADOOP_PREFIX" ]] - then - echo "You must set HADOOP_PREFIX" - exit 1 - fi - HADOOP_PREFIX=$(dirname "$HADOOP_PREFIX") - HADOOP_PREFIX=$(dirname "$HADOOP_PREFIX") -fi -if [[ ! -d "$HADOOP_PREFIX" ]] -then - echo "HADOOP_PREFIX, which has a value of $HADOOP_PREFIX, is not a directory." - exit 1 -fi -export HADOOP_PREFIX - -ACCUMULO_ENABLE_NUMACTL=${ACCUMULO_ENABLE_NUMACTL:-"true"} -ACCUMULO_NUMACTL_OPTIONS=${ACCUMULO_NUMACTL_OPTIONS:-"--interleave=all"} -NUMA=`which numactl 2>/dev/null` -NUMACTL_EXISTS="$?" -if [[ ( ${NUMACTL_EXISTS} -eq 0 ) && ( ${ACCUMULO_ENABLE_NUMACTL} == "true" ) ]] ; then - export NUMA_CMD="${NUMA} ${ACCUMULO_NUMACTL_OPTIONS}" -else - export NUMA_CMD="" -fi - -NUM_TSERVERS=${NUM_TSERVERS:-1} - -# Validate that NUM_TSERVERS is a positive integer -if ! [[ $NUM_TSERVERS =~ ^[0-9]+$ ]]; then - echo "NUM_TSERVERS, when defined in accumulo-env.sh, should be a positive number, is '$NUM_TSERVERS'" - exit 1 -fi - -# NUMA sanity checks -if [[ $NUM_TSERVERS -eq 1 && -n $TSERVER_NUMA_OPTIONS ]]; then - echo "TSERVER_NUMA_OPTIONS declared when NUM_TSERVERS is 1, use ACCUMULO_NUMACTL_OPTIONS instead" - exit 1 -fi -if [[ $NUM_TSERVERS -gt 1 && -n $TSERVER_NUMA_OPTIONS && ${#TSERVER_NUMA_OPTIONS[*]} -ne $NUM_TSERVERS ]]; then - echo "TSERVER_NUMA_OPTIONS is declared, but not the same size as NUM_TSERVERS" - exit 1 -fi - -export HADOOP_HOME=$HADOOP_PREFIX -export HADOOP_HOME_WARN_SUPPRESS=true - -# See HADOOP-7154 and ACCUMULO-847 -export MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-1} - -# Check for jaas.conf configuration -if [[ -z ${ACCUMULO_JAAS_CONF} ]]; then - if [[ -f ${ACCUMULO_CONF_DIR}/jaas.conf ]]; then - export ACCUMULO_JAAS_CONF=${ACCUMULO_CONF_DIR}/jaas.conf - fi -fi - -# Check for krb5.conf configuration -if [[ -z ${ACCUMULO_KRB5_CONF} ]]; then - if [[ -f ${ACCUMULO_CONF_DIR}/krb5.conf ]]; then - export ACCUMULO_KRB5_CONF=${ACCUMULO_CONF_DIR}/krb5.conf - fi -fi - - http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/generate_monitor_certificate.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/generate_monitor_certificate.sh b/assemble/bin/generate_monitor_certificate.sh deleted file mode 100755 index 5e5745f..0000000 --- a/assemble/bin/generate_monitor_certificate.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 - -ALIAS="default" -KEYPASS=$(LC_CTYPE=C tr -dc '#-~' < /dev/urandom | tr -d '<>&' | head -c 20) -STOREPASS=$(LC_CTYPE=C tr -dc '#-~' < /dev/urandom | tr -d '<>&' | head -c 20) -KEYSTOREPATH="$ACCUMULO_HOME/conf/keystore.jks" -TRUSTSTOREPATH="$ACCUMULO_HOME/conf/cacerts.jks" -CERTPATH="$ACCUMULO_HOME/conf/server.cer" - -if [[ -e "$KEYSTOREPATH" ]]; then - rm -i "$KEYSTOREPATH" - if [[ -e "$KEYSTOREPATH" ]]; then - echo "KeyStore already exists, exiting" - exit 1 - fi -fi - -if [[ -e "$TRUSTSTOREPATH" ]]; then - rm -i "$TRUSTSTOREPATH" - if [[ -e "$TRUSTSTOREPATH" ]]; then - echo "TrustStore already exists, exiting" - exit 2 - fi -fi - -if [[ -e "$CERTPATH" ]]; then - rm -i "$CERTPATH" - if [[ -e "$CERTPATH" ]]; then - echo "Certificate already exists, exiting" - exit 3 - fi -fi - -"${JAVA_HOME}/bin/keytool" -genkey -alias "$ALIAS" -keyalg RSA -keypass "$KEYPASS" -storepass "$KEYPASS" -keystore "$KEYSTOREPATH" -"${JAVA_HOME}/bin/keytool" -export -alias "$ALIAS" -storepass "$KEYPASS" -file "$CERTPATH" -keystore "$KEYSTOREPATH" -"${JAVA_HOME}/bin/keytool" -import -v -trustcacerts -alias "$ALIAS" -file "$CERTPATH" -keystore "$TRUSTSTOREPATH" -storepass "$STOREPASS" <<< "yes" - -echo -echo "keystore and truststore generated. now add the following to accumulo-site.xml:" -echo -echo " <property>" -echo " <name>monitor.ssl.keyStore</name>" -echo " <value>$KEYSTOREPATH</value>" -echo " </property>" -echo " <property>" -echo " <name>monitor.ssl.keyStorePassword</name>" -echo " <value>$KEYPASS</value>" -echo " </property>" -echo " <property>" -echo " <name>monitor.ssl.trustStore</name>" -echo " <value>$TRUSTSTOREPATH</value>" -echo " </property>" -echo " <property>" -echo " <name>monitor.ssl.trustStorePassword</name>" -echo " <value>$STOREPASS</value>" -echo " </property>" -echo http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/start-all.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/start-all.sh b/assemble/bin/start-all.sh deleted file mode 100755 index e2830aa..0000000 --- a/assemble/bin/start-all.sh +++ /dev/null @@ -1,77 +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 -. "$bin"/config-server.sh -unset DISPLAY - -if [ ! -f $ACCUMULO_CONF_DIR/accumulo-env.sh ] ; then - echo "${ACCUMULO_CONF_DIR}/accumulo-env.sh does not exist. Please make sure you configure Accumulo before you run anything" - echo "We provide examples you can copy in ${ACCUMULO_HOME}/conf/examples/ which are set up for your memory footprint" - exit 1 -fi - -if [ -z "$ZOOKEEPER_HOME" ] ; then - echo "ZOOKEEPER_HOME is not set. Please make sure it's set globally or in conf/accumulo-env.sh" - exit 1 -fi -if [ ! -d $ZOOKEEPER_HOME ]; then - echo "ZOOKEEPER_HOME is not a directory: $ZOOKEEPER_HOME" - echo "Please check the setting, either globally or in accumulo-env.sh." - exit 1 -fi - -ZOOKEEPER_VERSION=$(find -L $ZOOKEEPER_HOME -maxdepth 1 -name "zookeeper-[0-9]*.jar" | head -1) -if [ -z "$ZOOKEEPER_VERSION" ]; then - echo "A Zookeeper JAR was not found in $ZOOKEEPER_HOME." - echo "Please check ZOOKEEPER_HOME, either globally or in accumulo-env.sh." - exit 1 -fi -ZOOKEEPER_VERSION=$(basename "${ZOOKEEPER_VERSION##*-}" .jar) - -if [[ "$ZOOKEEPER_VERSION" < "3.4.0" ]]; then - echo "WARN : Using Zookeeper $ZOOKEEPER_VERSION. Use version 3.4.0 or greater. Older versions may not work reliably."; -fi - -${bin}/start-server.sh $MONITOR monitor - -if [ "$1" != "--notTservers" ]; then - ${bin}/tup.sh -fi - -${bin}/accumulo org.apache.accumulo.master.state.SetGoalState NORMAL -for master in $(egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/masters"); do - ${bin}/start-server.sh $master master -done - -for gc in $(egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/gc"); do - ${bin}/start-server.sh $gc gc -done - -for tracer in $(egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/tracers"); do - ${bin}/start-server.sh $tracer tracer -done http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/start-daemon.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/start-daemon.sh b/assemble/bin/start-daemon.sh deleted file mode 100755 index 9d6404f..0000000 --- a/assemble/bin/start-daemon.sh +++ /dev/null @@ -1,167 +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 - -usage="Usage: start-daemon.sh <host> <service>" - -rotate_log () { - logfile=$1; - max_retained=$2; - if [[ ! $max_retained =~ ^[0-9]+$ ]] || [[ $max_retained -lt 1 ]] ; then - echo "ACCUMULO_NUM_OUT_FILES should be a positive number, but was '$max_retained'" - exit 1 - fi - - if [ -f "$logfile" ]; then # rotate logs - while [ $max_retained -gt 1 ]; do - prev=`expr $max_retained - 1` - [ -f "$logfile.$prev" ] && mv -f "$logfile.$prev" "$logfile.$max_retained" - max_retained=$prev - done - mv -f "$logfile" "$logfile.$max_retained"; - fi -} - -if [[ $# -ne 2 ]]; then - echo $usage - exit 2 -fi - -. "$bin"/config.sh -. "$bin"/config-server.sh - -HOST="$1" -ADDRESS=$HOST -host "$1" >/dev/null 2>&1 -if [[ $? != 0 ]]; then - LOGHOST=$HOST -else - LOGHOST=$(host "$HOST" | head -1 | cut -d' ' -f1) -fi -SERVICE=$2 - -TSERVERS=$(wc -l < "${ACCUMULO_CONF_DIR}/tservers") - -# When the hostname provided is the alias/shortname, try to use the FQDN to make -# sure we send the right address to the Accumulo process. -if [[ "$HOST" = "$(hostname -s)" ]]; then - HOST="$(hostname -f)" - ADDRESS="$HOST" -fi - -# ACCUMULO-1985 Allow monitor to bind on all interfaces -if [[ ${SERVICE} == "monitor" && ${ACCUMULO_MONITOR_BIND_ALL} == "true" ]]; then - ADDRESS="0.0.0.0" -fi - -COMMAND="${bin}/accumulo" -if [ "${ACCUMULO_WATCHER}" = "true" ]; then - COMMAND="${bin}/accumulo_watcher.sh ${LOGHOST}" -fi - -OUTFILE="${ACCUMULO_LOG_DIR}/${SERVICE}_${LOGHOST}.out" -ERRFILE="${ACCUMULO_LOG_DIR}/${SERVICE}_${LOGHOST}.err" - -# Rotate the .out and .err files -rotate_log "$OUTFILE" ${ACCUMULO_NUM_OUT_FILES} -rotate_log "$ERRFILE" ${ACCUMULO_NUM_OUT_FILES} - -if [[ "$SERVICE" != "tserver" || $NUM_TSERVERS -eq 1 ]]; then - # Check the pid file to figure out if its already running. - PID_FILE="${ACCUMULO_PID_DIR}/accumulo-${ACCUMULO_IDENT_STRING}-${SERVICE}.pid" - if [ -f ${PID_FILE} ]; then - PID=`cat ${PID_FILE}` - if kill -0 $PID 2>/dev/null; then - # Starting an already-started service shouldn't be an error per LSB - echo "$HOST : $SERVICE already running (${PID})" - exit 0 - fi - fi - echo "Starting $SERVICE on $HOST" - - # Fork the process, store the pid - nohup ${NUMA_CMD} "$COMMAND" "${SERVICE}" --address "${ADDRESS}" >"$OUTFILE" 2>"$ERRFILE" < /dev/null & - echo $! > ${PID_FILE} - -else - - S="$SERVICE" - for (( t=1; t<=$NUM_TSERVERS; t++)); do - - SERVICE="$S-$t" - - # Check the pid file to figure out if its already running. - PID_FILE="${ACCUMULO_PID_DIR}/accumulo-${ACCUMULO_IDENT_STRING}-${SERVICE}.pid" - if [ -f ${PID_FILE} ]; then - PID=`cat ${PID_FILE}` - if kill -0 $PID 2>/dev/null; then - # Starting an already-started service shouldn't be an error per LSB - echo "$HOST : $SERVICE already running (${PID})" - continue - fi - fi - echo "Starting $SERVICE on $HOST" - - ACCUMULO_NUMACTL_OPTIONS=${ACCUMULO_NUMACTL_OPTIONS:-"--interleave=all"} - ACCUMULO_NUMACTL_OPTIONS=${TSERVER_NUMA_OPTIONS[$t]} - if [[ "$ACCUMULO_ENABLE_NUMACTL" == "true" ]]; then - NUMA=`which numactl 2>/dev/null` - NUMACTL_EXISTS=$? - if [[ ( ${NUMACTL_EXISTS} -eq 0 ) ]]; then - export NUMA_CMD="${NUMA} ${ACCUMULO_NUMACTL_OPTIONS}" - else - export NUMA_CMD="" - fi - fi - - # We want the files to be consistently named with the log files - # server_identifier_hostname.{out,err}, e.g. tserver_2_fqdn.out - OUTFILE="${ACCUMULO_LOG_DIR}/${S}_${t}_${LOGHOST}.out" - ERRFILE="${ACCUMULO_LOG_DIR}/${S}_${t}_${LOGHOST}.err" - - # Rotate the .out and .err files - rotate_log "$OUTFILE" ${ACCUMULO_NUM_OUT_FILES} - rotate_log "$ERRFILE" ${ACCUMULO_NUM_OUT_FILES} - - # Fork the process, store the pid - nohup ${NUMA_CMD} "$COMMAND" "${SERVICE}" --address "${ADDRESS}" >"$OUTFILE" 2>"$ERRFILE" < /dev/null & - echo $! > ${PID_FILE} - - done - -fi - -# Check the max open files limit and selectively warn -MAX_FILES_OPEN=$(ulimit -n) - -if [[ -n $MAX_FILES_OPEN && -n $TSERVERS ]] ; then - MAX_FILES_RECOMMENDED=${MAX_FILES_RECOMMENDED:-32768} - if (( TSERVERS > 10 )) && (( MAX_FILES_OPEN < MAX_FILES_RECOMMENDED )) - then - echo "WARN : Max open files on $HOST is $MAX_FILES_OPEN, recommend $MAX_FILES_RECOMMENDED" >&2 - fi -fi http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/start-here.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/start-here.sh b/assemble/bin/start-here.sh deleted file mode 100755 index ccba80f..0000000 --- a/assemble/bin/start-here.sh +++ /dev/null @@ -1,78 +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 starts all the accumulo services on this host -# - -# 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 -. "$bin"/config-server.sh - -IFCONFIG=/sbin/ifconfig -[[ ! -x $IFCONFIG ]] && IFCONFIG='/bin/netstat -ie' - -IP=$($IFCONFIG 2>/dev/null| grep "inet[^6]" | awk '{print $2}' | sed 's/addr://' | grep -v 0.0.0.0 | grep -v 127.0.0.1 | head -n 1) -if [[ $? != 0 ]]; then - IP=$(python -c 'import socket as s; print s.gethostbyname(s.getfqdn())') -fi - -HOSTS="$(hostname -a 2> /dev/null) $(hostname) localhost 127.0.0.1 $IP" -for host in $HOSTS; do - if grep -q "^${host}\$" "$ACCUMULO_CONF_DIR/tservers"; then - "${bin}/start-server.sh" "$host" tserver - break - fi -done - -for host in $HOSTS; do - if grep -q "^${host}\$" "$ACCUMULO_CONF_DIR/masters"; then - "${bin}/accumulo" org.apache.accumulo.master.state.SetGoalState NORMAL - "${bin}/start-server.sh" "$host" master - break - fi -done - -for host in $HOSTS; do - if grep -q "^${host}\$" "$ACCUMULO_CONF_DIR/gc"; then - "${bin}/start-server.sh" "$host" gc - break - fi -done - -for host in $HOSTS; do - if [[ $host == "$MONITOR" ]]; then - "${bin}/start-server.sh" "$MONITOR" monitor - break - fi -done - -for host in $HOSTS; do - if grep -q "^${host}\$" "$ACCUMULO_CONF_DIR/tracers"; then - "${bin}/start-server.sh" "$host" tracer - break - fi -done http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/start-server.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/start-server.sh b/assemble/bin/start-server.sh deleted file mode 100755 index d5b7594..0000000 --- a/assemble/bin/start-server.sh +++ /dev/null @@ -1,57 +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 - -# Really, we still support the third <long_name> argument, but let's not tell people that.. -usage="Usage: start-server.sh <host> <service>" - -# Support the 3-arg invocation for backwards-compat -if [[ $# -ne 2 ]] && [[ $# -ne 3 ]]; then - echo $usage - exit 2 -fi - -. "$bin"/config.sh -. "$bin"/config-server.sh - -HOST="$1" -SERVICE="$2" - -IFCONFIG=/sbin/ifconfig -[[ ! -x $IFCONFIG ]] && IFCONFIG='/bin/netstat -ie' - -IP=$($IFCONFIG 2>/dev/null| grep "inet[^6]" | awk '{print $2}' | sed 's/addr://' | grep -v 0.0.0.0 | grep -v 127.0.0.1 | head -n 1) -if [[ $? != 0 ]] ; then - IP=$(python -c 'import socket as s; print s.gethostbyname(s.getfqdn())') -fi - -if [[ $HOST == "localhost" || $HOST == $(hostname -f) || $HOST == $(hostname -s) || $HOST == $IP ]]; then - "$bin/start-daemon.sh" "$HOST" "$SERVICE" -else - # Ensure that the provided configuration directory is sent with the command - echo $($SSH $HOST "bash -c 'ACCUMULO_CONF_DIR=${ACCUMULO_CONF_DIR} $bin/start-daemon.sh \"$HOST\" \"$SERVICE\"'") -fi http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/stop-all.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/stop-all.sh b/assemble/bin/stop-all.sh deleted file mode 100755 index 2825ef6..0000000 --- a/assemble/bin/stop-all.sh +++ /dev/null @@ -1,69 +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 -. "$bin"/config-server.sh - -echo "Stopping accumulo services..." -${bin}/accumulo admin "$@" stopAll - -if [[ $? != 0 ]]; then - echo "Invalid password or unable to connect to the master" - echo "Initiating forced shutdown in 15 seconds (Ctrl-C to abort)" - sleep 10 - echo "Initiating forced shutdown in 5 seconds (Ctrl-C to abort)" -else - echo "Accumulo shut down cleanly" - echo "Utilities and unresponsive servers will shut down in 5 seconds (Ctrl-C to abort)" -fi - -sleep 5 - -#look for master and gc processes not killed by 'admin stopAll' -for signal in TERM KILL ; do - for master in $(grep -v '^#' "$ACCUMULO_CONF_DIR/masters"); do - "${bin}/stop-server.sh" "$master" "$ACCUMULO_HOME/lib/accumulo-start.*.jar" master $signal - done - - for gc in $(grep -v '^#' "$ACCUMULO_CONF_DIR/gc"); do - "${bin}/stop-server.sh" "$gc" "$ACCUMULO_HOME/lib/accumulo-start.*.jar" gc $signal - done - - "${bin}/stop-server.sh" "$MONITOR" "$ACCUMULO_HOME/.*/accumulo-start.*.jar" monitor $signal - - for tracer in $(egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/tracers"); do - "${bin}/stop-server.sh" "$tracer" "$ACCUMULO_HOME/.*/accumulo-start.*.jar" tracer $signal - done -done - -# stop tserver still running -"${bin}/tdown.sh" - -echo "Cleaning all server entries in ZooKeeper" -"$ACCUMULO_HOME/bin/accumulo" org.apache.accumulo.server.util.ZooZap -master -tservers -tracers --site-file "$ACCUMULO_CONF_DIR/accumulo-site.xml" - http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/stop-here.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/stop-here.sh b/assemble/bin/stop-here.sh deleted file mode 100755 index 1edfb5b..0000000 --- a/assemble/bin/stop-here.sh +++ /dev/null @@ -1,53 +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 safely stops all the accumulo services on this host -# - -# 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 - -# Determine hostname without errors to user -HOSTS_TO_CHECK=($(hostname -a 2> /dev/null | head -1) $(hostname -f)) - -if egrep -q localhost\|127.0.0.1 "$ACCUMULO_CONF_DIR/tservers"; then - "$bin/accumulo" admin stop localhost -else - for host in "${HOSTS_TO_CHECK[@]}"; do - if grep -q "$host" "$ACCUMULO_CONF_DIR"/tservers; then - "${bin}/accumulo" admin stop "$host" - fi - done -fi - -for HOSTNAME in "${HOSTS_TO_CHECK[@]}"; do - for signal in TERM KILL; do - for svc in tserver gc master monitor tracer; do - "$ACCUMULO_HOME"/bin/stop-server.sh "$HOSTNAME" "$ACCUMULO_HOME/lib/accumulo-start.jar" $svc $signal - done - done -done http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/stop-server.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/stop-server.sh b/assemble/bin/stop-server.sh deleted file mode 100755 index bba0f1e..0000000 --- a/assemble/bin/stop-server.sh +++ /dev/null @@ -1,59 +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 -. "$bin"/config-server.sh - -HOST=$1 - -IFCONFIG=/sbin/ifconfig -[[ ! -x $IFCONFIG ]] && IFCONFIG='/bin/netstat -ie' - -IP=$($IFCONFIG 2>/dev/null| grep "inet[^6]" | awk '{print $2}' | sed 's/addr://' | grep -v 0.0.0.0 | grep -v 127.0.0.1 | head -n 1) -if [[ $? != 0 ]] -then - IP=$(python -c 'import socket as s; print s.gethostbyname(s.getfqdn())') -fi - -# only stop if there's not one already running -if [[ $HOST == localhost || $HOST = "$(hostname -s)" || $HOST = "$(hostname -f)" || $HOST = "$IP" ]] ; then - for PID_FILE in ${ACCUMULO_PID_DIR}/accumulo-${ACCUMULO_IDENT_STRING}-${3}*.pid; do - if [[ -f ${PID_FILE} ]]; then - echo "Stopping $3 on $1"; - kill -s "$4" `cat ${PID_FILE}` 2>/dev/null - rm -f ${PID_FILE} 2>/dev/null - fi; - done -else - for PID_FILE in $(ssh -q -o 'ConnectTimeout 8' "$1" ls "${ACCUMULO_PID_DIR}/accumulo-${ACCUMULO_IDENT_STRING}-${3}*.pid" 2>/dev/null); do - PID=$(ssh -q -o 'ConnectTimeout 8' "$1" cat "${PID_FILE}" 2>/dev/null) - if [[ ! -z $PID ]]; then - echo "Stopping $3 on $1"; - ssh -q -o 'ConnectTimeout 8' "$1" "kill -s $4 $PID 2>/dev/null; rm -f ${PID_FILE} 2>/dev/null" - fi - done -fi http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/tdown.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/tdown.sh b/assemble/bin/tdown.sh deleted file mode 100755 index dd81ddd..0000000 --- a/assemble/bin/tdown.sh +++ /dev/null @@ -1,49 +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 - -HADOOP_CMD=$HADOOP_PREFIX/bin/hadoop -TSERVERS=$ACCUMULO_CONF_DIR/tservers -TSERVER_HOSTS=$(egrep -v '(^#|^\s*$)' "${TSERVERS}") - -echo "Stopping unresponsive tablet servers (if any)..." -for server in ${TSERVER_HOSTS}; do - # only start if there's not one already running - $ACCUMULO_HOME/bin/stop-server.sh $server "$ACCUMULO_HOME/lib/accumulo-start.jar" tserver TERM & -done - -sleep 10 - -echo "Stopping unresponsive tablet servers hard (if any)..." -for server in ${TSERVER_HOSTS}; do - # only start if there's not one already running - $ACCUMULO_HOME/bin/stop-server.sh $server "$ACCUMULO_HOME/lib/accumulo-start.jar" tserver KILL & -done - -echo "Cleaning tablet server entries from zookeeper" -$ACCUMULO_HOME/bin/accumulo org.apache.accumulo.server.util.ZooZap -tservers http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/tool.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/tool.sh b/assemble/bin/tool.sh deleted file mode 100755 index 88387fa..0000000 --- a/assemble/bin/tool.sh +++ /dev/null @@ -1,92 +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 - -if [[ -z "$HADOOP_PREFIX" ]] ; then - echo "HADOOP_PREFIX is not set. Please make sure it's set globally or in conf/accumulo-env.sh" - exit 1 -fi -if [[ -z "$ZOOKEEPER_HOME" ]] ; then - echo "ZOOKEEPER_HOME is not set. Please make sure it's set globally or in conf/accumulo-env.sh" - exit 1 -fi - -ZOOKEEPER_CMD='ls -1 $ZOOKEEPER_HOME/zookeeper-[0-9]*[^csn].jar ' -if [[ $(eval $ZOOKEEPER_CMD | wc -l) -ne 1 ]] ; then - echo "Not exactly one zookeeper jar in $ZOOKEEPER_HOME" - exit 1 -fi -ZOOKEEPER_LIB=$(eval $ZOOKEEPER_CMD) - -LIB="$ACCUMULO_HOME/lib" -CORE_LIB="$LIB/accumulo-core.jar" -FATE_LIB="$LIB/accumulo-fate.jar" -THRIFT_LIB="$LIB/libthrift.jar" -JCOMMANDER_LIB="$LIB/jcommander.jar" -COMMONS_VFS_LIB="$LIB/commons-vfs2.jar" -GUAVA_LIB="$LIB/guava.jar" -HTRACE_LIB="$LIB/htrace-core.jar" - -USERJARS=" " -for arg in "$@"; do - if [ "$arg" != "-libjars" -a -z "$TOOLJAR" ]; then - TOOLJAR="$arg" - shift - elif [ "$arg" != "-libjars" -a -z "$CLASSNAME" ]; then - CLASSNAME="$arg" - shift - elif [ -z "$USERJARS" ]; then - USERJARS=$(echo "$arg" | tr "," " ") - shift - elif [ "$arg" = "-libjars" ]; then - USERJARS="" - shift - else - break - fi -done - -LIB_JARS="$THRIFT_LIB,$CORE_LIB,$FATE_LIB,$ZOOKEEPER_LIB,$JCOMMANDER_LIB,$COMMONS_VFS_LIB,$GUAVA_LIB,$HTRACE_LIB" -H_JARS="$THRIFT_LIB:$CORE_LIB:$FATE_LIB:$ZOOKEEPER_LIB:$JCOMMANDER_LIB:$COMMONS_VFS_LIB:$GUAVA_LIB:$HTRACE_LIB" - -for jar in $USERJARS; do - LIB_JARS="$LIB_JARS,$jar" - H_JARS="$H_JARS:$jar" -done -export HADOOP_CLASSPATH="$H_JARS:$HADOOP_CLASSPATH" - -if [[ -z "$CLASSNAME" || -z "$TOOLJAR" ]]; then - echo "Usage: tool.sh path/to/myTool.jar my.tool.class.Name [-libjars my1.jar,my2.jar]" 1>&2 - exit 1 -fi - -#echo USERJARS=$USERJARS -#echo CLASSNAME=$CLASSNAME -#echo HADOOP_CLASSPATH=$HADOOP_CLASSPATH -#echo exec "$HADOOP_PREFIX/bin/hadoop" jar "$TOOLJAR" $CLASSNAME -libjars \"$LIB_JARS\" $ARGS -exec "$HADOOP_PREFIX/bin/hadoop" jar "$TOOLJAR" $CLASSNAME -libjars \"$LIB_JARS\" "$@" http://git-wip-us.apache.org/repos/asf/accumulo/blob/24ba5568/assemble/bin/tup.sh ---------------------------------------------------------------------- diff --git a/assemble/bin/tup.sh b/assemble/bin/tup.sh deleted file mode 100755 index f9e8903..0000000 --- a/assemble/bin/tup.sh +++ /dev/null @@ -1,45 +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 - -TSERVERS=$ACCUMULO_CONF_DIR/tservers - -echo -n "Starting tablet servers ..." - -count=1 -for server in $(egrep -v '(^#|^\s*$)' "${TSERVERS}"); do - echo -n "." - ${bin}/start-server.sh $server tserver & - if (( ++count % 72 == 0 )) ; - then - echo - wait - fi -done - -echo " done"