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

    科技2024-06-17  71

    目录

    脚本设置crontab

    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

    完成

    Processed: 0.011, SQL: 8