1、创建启动脚本
vim /data/kafka/collapse-start.sh
#!/bin/bash
#获取kafka进程数量,正常情况下一台机器一个kafka,所以kakfa正常运行的时候肯定大于1
KAFKA_NUM=`ps aux | grep "kafka" | wc -l `
#当进程小于等于1的时候启动kafka
if [ ${KAFKA_NUM} -le 1 ];then
cd /data/kafka
nohup ./bin/kafka-server-start.sh config/server.properties &
fi
2、将启动脚本加入定时任务
crontab -e
#两分钟运行一次
*/2 * * * * /bin/bash /data/kafka/collapse-start.sh
3、重启定时任务
#centos7
systemctl restart crond
#centos6
service crond restart
#ubtuntu
systemctl status cron
原文链接:kafka挂掉或者崩溃的时候自动检测到并将其启动_查看kafka 是不是挂了_王九天的博客-CSDN博客
备注:如何查看是centos几: cat /etc/centos-release
如果上图的脚本有问题,可以采用sh -x command进行调试
将cron任务加入开启自启动,在 /etc/rc.local 文件中加入:systemctl restart crond