#!/bin/bash source /etc/profile BASE_DIR={{ deploy_dir }} VERSION={{ hadoop_version }} function set_log(){ RES_SUM_FILE=$BASE_DIR/$VERSION/logs if [ ! -f "$RES_SUM_FILE/" ] then mkdir -p $RES_SUM_FILE fi if [ ! -d "$RES_SUM_FILE/$1" ];then echo "0" > $RES_SUM_FILE/$1 fi OLD_NUM=`cat $RES_SUM_FILE/$1` RESTART_NUM=`expr $OLD_NUM + 1` echo $RESTART_NUM > $RES_SUM_FILE/$1 if [ $OLD_NUM -eq "0" ];then echo "`date "+%Y-%m-%d %H:%M:%S"` - Hadoop $2服务初次启动" >> $BASE_DIR/$VERSION/logs/restart.log else echo "`date +%Y-%m-%d` `date +%H:%M:%S` - Hadoop $2服务异常 - 重启次数 -> $RESTART_NUM." >> $BASE_DIR/$VERSION/logs/restart.log fi } while true ; do HAS_JN=`ps -ef | grep JournalNode | grep -v grep | wc -l` if [ $HAS_JN -eq "0" ];then yes | $BASE_DIR/$VERSION/sbin/hadoop-daemon.sh start journalnode > /dev/null set_log jnRes_sum JournalNode fi sleep 60 done