HBASE-27669 chaos-daemon.sh should make use hbase script start/stop chaosagent and chaos monkey runner (#5078)

Co-authored-by: Rajeshbabu Chintaguntla <rchintag@visa.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit bc8b13e468)
This commit is contained in:
Rajeshbabu Chintaguntla 2023-03-09 08:16:25 +05:30 committed by Duo Zhang
parent 6e31c18bf2
commit ab8aa62030
3 changed files with 18 additions and 14 deletions

View File

@ -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 no args specified, show usage
if [ $# -le 1 ]; then if [ $# -le 1 ]; then
@ -51,11 +51,6 @@ bin=$(cd "$bin">/dev/null || exit; pwd)
. "$bin"/hbase-config.sh . "$bin"/hbase-config.sh
. "$bin"/hbase-common.sh . "$bin"/hbase-common.sh
CLASSPATH=$HBASE_CONF_DIR
for f in ../lib/*.jar; do
CLASSPATH=${CLASSPATH}:$f
done
# get log directory # get log directory
if [ "$HBASE_LOG_DIR" = "" ]; then if [ "$HBASE_LOG_DIR" = "" ]; then
export HBASE_LOG_DIR="$HBASE_HOME/logs" export HBASE_LOG_DIR="$HBASE_HOME/logs"
@ -79,7 +74,7 @@ if [ "$JAVA_HOME" = "" ]; then
fi fi
export HBASE_LOG_PREFIX=hbase-$HBASE_IDENT_STRING-$command-$HOSTNAME 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 if [ -z "${HBASE_ROOT_LOGGER}" ]; then
export HBASE_ROOT_LOGGER=${HBASE_ROOT_LOGGER:-"INFO,RFA"} 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"} export HBASE_SECURITY_LOGGER=${HBASE_SECURITY_LOGGER:-"INFO,RFAS"}
fi 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 CHAOS_PID=$HBASE_PID_DIR/hbase-$HBASE_IDENT_STRING-$command.pid
if [ -z "$CHAOS_JAVA_OPTS" ]; then if [ -z "$CHAOS_JAVA_OPTS" ]; then
@ -101,15 +96,20 @@ case $startStop in
(start) (start)
check_before_start check_before_start
echo running $command 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} &" command_args=""
if [ "$command" = "chaosagent" ]; then
eval $CMD 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 $!) PID=$(echo $!)
disown -h -r
echo ${PID} >${CHAOS_PID} echo ${PID} >${CHAOS_PID}
echo "Chaos ${1} process Started with ${PID} !" echo "Chaos ${command} process Started with ${PID} !"
now=$(date) now=$(date)
echo "${now} Chaos ${1} process Started with ${PID} !" >>${CHAOS_LOGLOG} echo "${now} Chaos ${command} process Started with ${PID} !" >>${CHAOS_LOGLOG}
;; ;;
(stop) (stop)

View File

@ -710,6 +710,10 @@ elif [ "$COMMAND" = "pre-upgrade" ] ; then
CLASS='org.apache.hadoop.hbase.tool.PreUpgradeValidator' CLASS='org.apache.hadoop.hbase.tool.PreUpgradeValidator'
elif [ "$COMMAND" = "completebulkload" ] ; then elif [ "$COMMAND" = "completebulkload" ] ; then
CLASS='org.apache.hadoop.hbase.tool.BulkLoadHFilesTool' 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 elif [ "$COMMAND" = "hbtop" ] ; then
CLASS='org.apache.hadoop.hbase.hbtop.HBTop' CLASS='org.apache.hadoop.hbase.hbtop.HBTop'
if [ -n "${shaded_jar}" ] ; then if [ -n "${shaded_jar}" ] ; then

View File

@ -217,7 +217,7 @@ public class HBaseClusterManager extends Configured implements ClusterManager {
} }
public String signalCommand(ServiceType service, String signal) { 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);
} }
} }