实现的内容:
因zookeeper挂掉或主机重启引发zookeeper需要重启,处理过程中不需要人工参与,事后做相应检查就可以
处理思路:
1、编写自启动任务,发现zookeeper未启动时自动启动
2、配置crontab 后台自动监控
目录放在: /apps/autoshell
日志放在: /apps/logs
java_home:/apps/java/jdkX.X.X
zookeeper目录: /apps/zk/zookeeper/bin
处理正文
1、脚本正文:
#!/bin/bash
###################################################################
# Fuctionw# Version: 1.0
# Created: bing008
# Created date:2021/01/29
#
###################################################################
export JAVA_HOME=/apps/java/jdkX.X.X # 你的java_home
DEALDATE=`date +"%Y%m%d%H%M"`
main()
{
######################## 自动处理报错插入redis ###################
echo "${DEALDATE}:进入zookeeper后台监控任务"
pid=`ps -ef|grep zookeeper|grep -v grep|awk '{print $2}'`
# [ -z STRING ] 如果STRING的长度为零则返回为真,即空是真
# 如果不存在返回0,存在返回1
if [ -z "${pid}" ]; then
# 重启任务
echo "${DEALDATE}:zookeeper任务未启动启动中..."
cd /apps/zk/zookeeper/bin # 你zk安装的目录
sh zkServer.sh start
echo "${DEALDATE}:zookeeper任务未启动启动ok"
fi
}
main $*
2、crontab 定时任务每1分钟监控一次
*/1 * * * * sh /apps/autoshell/backguard.sh >>/apps/logs/backguardsh.log