SparkStreaming程序自动重启脚本2

通过crontab调度改脚本

#!/usr/bin/env bash
###############################################################
#检测实时程序是否存在的脚本,若不存在,则重启
#Param 1 实时程序名称后半部分
#Param 2 启动程序脚本名称
#Param 3 调度周期
###############################################################

#定义重启方法
function restart(){
count=0
while true
do
    num=`yarn application -list |grep tabbit|grep lemon.$1 |wc -l`
    if [ "${num}"x = "0"x ];then
		count=$[$count + 1]
        if [ ${count} == 3 ];then
            ctime=`date "+%Y-%m-%d %H:%M:%S"`
            echo $ctime "restart......" >> /tmp/realtime_restart_log/$1.log
            sh /home/ads/rabbit/bin/realtime/$2.sh $3 &
            break
        else
            sleep 1m
        fi

    else
        count=0
        break
    fi
done
}

#检测实时程序
restart StreamingContext real_time_script 60
exit 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章