From 4d510455448258dc5cbf6162b293de14ecd720d5 Mon Sep 17 00:00:00 2001 From: Rajeshbabu Chintaguntla Date: Fri, 3 Mar 2023 15:18:38 +0530 Subject: [PATCH] HBASE-27669 chaos-daemon.sh should make use hbase script start/stop chaosagent and chaos monkey runner --- bin/chaos-daemon.sh | 26 +++++++++---------- bin/hbase | 4 +++ .../hadoop/hbase/HBaseClusterManager.java | 2 +- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/bin/chaos-daemon.sh b/bin/chaos-daemon.sh index 084e519321a2..8e27f4a5d9f3 100644 --- a/bin/chaos-daemon.sh +++ b/bin/chaos-daemon.sh @@ -19,7 +19,7 @@ # */ # -usage="Usage: chaos-daemon.sh (start|stop) chaosagent" +usage="Usage: chaos-daemon.sh (start|stop) (chaosagent|chaosmonkeyrunner)" # if no args specified, show usage if [ $# -le 1 ]; then @@ -51,11 +51,6 @@ bin=$(cd "$bin">/dev/null || exit; pwd) . "$bin"/hbase-config.sh . "$bin"/hbase-common.sh -CLASSPATH=$HBASE_CONF_DIR -for f in ../lib/*.jar; do - CLASSPATH=${CLASSPATH}:$f -done - # get log directory if [ "$HBASE_LOG_DIR" = "" ]; then export HBASE_LOG_DIR="$HBASE_HOME/logs" @@ -79,7 +74,7 @@ if [ "$JAVA_HOME" = "" ]; then fi export HBASE_LOG_PREFIX=hbase-$HBASE_IDENT_STRING-$command-$HOSTNAME -export CHAOS_LOGFILE=$HBASE_LOG_PREFIX.log +export HBASE_LOGFILE=$HBASE_LOG_PREFIX.log if [ -z "${HBASE_ROOT_LOGGER}" ]; then export HBASE_ROOT_LOGGER=${HBASE_ROOT_LOGGER:-"INFO,RFA"} @@ -89,7 +84,7 @@ if [ -z "${HBASE_SECURITY_LOGGER}" ]; then export HBASE_SECURITY_LOGGER=${HBASE_SECURITY_LOGGER:-"INFO,RFAS"} fi -CHAOS_LOGLOG=${CHAOS_LOGLOG:-"${HBASE_LOG_DIR}/${CHAOS_LOGFILE}"} +CHAOS_LOGLOG=${CHAOS_LOGLOG:-"${HBASE_LOG_DIR}/${HBASE_LOGFILE}"} CHAOS_PID=$HBASE_PID_DIR/hbase-$HBASE_IDENT_STRING-$command.pid if [ -z "$CHAOS_JAVA_OPTS" ]; then @@ -101,15 +96,20 @@ case $startStop in (start) check_before_start echo running $command - CMD="${JAVA_HOME}/bin/java -Dapp.home=${HBASE_CONF_DIR}/../ ${CHAOS_JAVA_OPTS} -cp ${CLASSPATH} org.apache.hadoop.hbase.chaos.ChaosService -$command start &>> ${CHAOS_LOGLOG} &" - - eval $CMD + command_args="" + if [ "$command" = "chaosagent" ]; then + command_args=" -${command} start" + elif [ "$command" = "chaosmonkeyrunner" ]; then + command_args="-c $HBASE_CONF_DIR $@" + fi + HBASE_OPTS="$HBASE_OPTS $CHAOS_JAVA_OPTS" . $bin/hbase --config "${HBASE_CONF_DIR}" $command $command_args >> ${CHAOS_LOGLOG} 2>&1 & PID=$(echo $!) + disown -h -r echo ${PID} >${CHAOS_PID} - echo "Chaos ${1} process Started with ${PID} !" + echo "Chaos ${command} process Started with ${PID} !" now=$(date) - echo "${now} Chaos ${1} process Started with ${PID} !" >>${CHAOS_LOGLOG} + echo "${now} Chaos ${command} process Started with ${PID} !" >>${CHAOS_LOGLOG} ;; (stop) diff --git a/bin/hbase b/bin/hbase index f81c0551e57a..b5329795c407 100755 --- a/bin/hbase +++ b/bin/hbase @@ -742,6 +742,10 @@ elif [ "$COMMAND" = "pre-upgrade" ] ; then CLASS='org.apache.hadoop.hbase.tool.PreUpgradeValidator' elif [ "$COMMAND" = "completebulkload" ] ; then CLASS='org.apache.hadoop.hbase.tool.BulkLoadHFilesTool' +elif [ "$COMMAND" = "chaosagent" ] ; then + CLASS='org.apache.hadoop.hbase.chaos.ChaosService' +elif [ "$COMMAND" = "chaosmonkeyrunner" ] ; then + CLASS='org.apache.hadoop.hbase.chaos.util.ChaosMonkeyRunner' elif [ "$COMMAND" = "hbtop" ] ; then CLASS='org.apache.hadoop.hbase.hbtop.HBTop' if [ -n "${shaded_jar}" ] ; then diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java index a09a690c89a0..b16ac52b696f 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java @@ -217,7 +217,7 @@ protected String findPidCommand(ServiceType service) { } public String signalCommand(ServiceType service, String signal) { - return String.format("%s | xargs sudo kill -s %s", findPidCommand(service), signal); + return String.format("%s | xargs kill -s %s", findPidCommand(service), signal); } }