kafka时不时挂掉,使用计划任务

该博客介绍了如何通过Linux的crontab命令来定时检查并自动重启Kafka服务。当Kafka进程意外挂掉时,脚本会检测到并启动新的进程,同时记录重启日志。crontab设置在每分钟检查一次,确保Kafka服务的稳定运行。
摘要由CSDN通过智能技术生成

linux上的kafka时不时会挂掉,不明原因,只好用crontab定时检查kafka进程还存不存在

脚本

crontab执行的脚本,/hddjx/software/kafka_2.11-2.3.0为kafka安装目录,新建一个文件/hddjx/software/kafka_2.11-2.3.0内容如下:

source /etc/profile
proc_dir="/hddjx/software/kafka_2.11-2.3.0" # 程序目录
proc_name="kafka.Kafka" # 进程名
file_name="cron.log" # 日志文件
pid=0

proc_num() # 计算进程数
{
        num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
        return $num
}

proc_id() # 进程号
{
        pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

proc_num
number=$?
echo $number
if [ $number -eq 0 ] # 判断进程是否存在
then
        $proc_dir/bin/kafka-server-start.sh -daemon $proc_dir/config/server.properties
        proc_id # 获取新进程号
    	echo "server down restart..." >> $proc_dir/$file_name
        echo ${pid}, `date` >> $proc_dir/$file_name # 将新进程号和重启时间记录
fi

设置crontab

  • 检查crond是否开启,以下输出说明crond开启了,计划任务会按计划执行
[root@cs4 usb]# ps -ef | grep crond
root      1843 21284  0 15:35 pts/3    00:00:00 grep --color=auto crond
root      3113     1  0 10月06 ?      00:00:00 /usr/sbin/crond -n
  • 设置crontab
    /etc/crontab文件中,增加* * * * * root /hddjx/software/kafka_2.11-2.3.0/kafka_corntab.sh一行,如下:
[root@cs4 ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
* * * * * root /hddjx/software/kafka_2.11-2.3.0/kafka_corntab.sh

完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值