blob: cf44a48688df14502ce35cd7d22850a35f004db6 [file] [log] [blame]
# 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.
HADOOP_NAME="kms"
DAEMON="hadoop-$HADOOP_NAME"
DESC="Hadoop $HADOOP_NAME"
EXEC_PATH="/usr/lib/hadoop-kms/sbin/kms.sh"
SVC_USER="$HADOOP_NAME"
WORKING_DIR="/var/run/hadoop-kms"
DAEMON_FLAGS="$HADOOP_NAME"
CONF_DIR="/etc/$DAEMON/conf"
PIDFILE="/var/run/$DAEMON/hadoop-$SVC_USER-$HADOOP_NAME.pid"
CHKCONFIG=${CHKCONFIG:-"2345 90 10"}
CHKCONFIG="${CHKCONFIG%% *} 90 10"
generate_start() {
cat <<'__EOT__'
start() {
[ -x $EXEC_PATH ] || exit $ERROR_PROGRAM_NOT_INSTALLED
[ -d $CONF_DIR ] || exit $ERROR_PROGRAM_NOT_CONFIGURED
export KMS_USER="$SVC_USER"
export KMS_CONFIG="$CONF_DIR"
export KMS_LOG=${KMS_LOG:-"/var/log/hadoop-kms/"}
export KMS_TEMP="$(dirname $PIDFILE)"
export KMS_SLEEP_TIME="$SLEEP_TIME"
export CATALINA_BASE=${CATALINA_BASE:-"/var/lib/hadoop-kms/tomcat-deployment"}
export CATALINA_PID="$PIDFILE"
export CATALINA_TMPDIR="$KMS_TEMP"
. /usr/lib/hadoop-kms/tomcat-deployment.sh
runuser -s /bin/bash -c "${EXEC_PATH} start $DAEMON_FLAGS" $KMS_USER
for second in {5..0}
do
checkstatusofproc
RETVAL=$?
if [ "$RETVAL" -eq $RETVAL_SUCCESS ] ; then
break
fi
sleep 1
done
if [ $RETVAL -eq $STATUS_RUNNING ]; then
touch $LOCKFILE
log_success_msg "Started ${DESC} (${DAEMON}): "
else
log_failure_msg "Failed to start ${DESC}. Return value: $RETVAL"
fi
return $RETVAL
}
__EOT__
}
generate_stop() {
cat <<'__EOT__'
stop() {
# FIXME: workaround for BIGTOP-537
checkstatusofproc
if [ "$?" = "$STATUS_RUNNING" ] ; then
su -s /bin/bash $SVC_USER -c "${EXEC_PATH} stop $SLEEP_TIME -force"
RETVAL=$?
else
RETVAL=$RETVAL_SUCCESS
fi
if [ $RETVAL -eq $RETVAL_SUCCESS ]; then
log_success_msg "Stopped ${DESC}: "
rm -f $LOCKFILE $PIDFILE
else
log_failure_msg "Failure to stop ${DESC}. Return value: $RETVAL"
fi
}
__EOT__
}