通过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