一百七十、Linux——Crontab定时任务调度Kettle脚本

一、目的

由于用海豚调度器调度从Kafka到HDFS的kettle任务时发现有点问题,如果不设置定时调度,这个kettle任务会一直跑,而如果设置定时调度,隔天后就会生成多个任务,而且每个任务都在跑,不会停下,于是尝试用Crontab定时任务调度Kettle的从Kafka到HDFS任务。

结果:失败告终,还是一直再跑,虽然我设置了时间段。

但也算学会了Crontab定时任务调度,于是整理成博客

二、调度过程

(一)第一步,是kettle任务的运行脚本01_Kafka_to_HDFS_queue.sh

#!/bin/bash
source /etc/profile

/opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/kafka_to_hdfs/ -trans=01_Kafka_to_HDFS_queue level=Basic >>/home/log/kettle/01_Kafka_to_HDFS_queue_`date +%Y%m%d`.log

(二)第二步,是Crontab定时任务调度

1、输入crontab -e     进入编写(分、时、月、年、周)

SHELL=/bin/bash

#  */1 * * * * /bin/sh  /opt/install/kettle9.2/kettle_job_sh/test2.sh

06-07 17 * * * /bin/sh  /opt/install/kettle9.2/kettle_job_sh/01_Kafka_to_HDFS_queue.sh
一百七十、Linux——Crontab定时任务调度Kettle脚本_第1张图片

如06-07 17 * * *  意思是每天的17点的6分到7分中执行

2、编辑好后可以  crontab -l  命令查看

一百七十、Linux——Crontab定时任务调度Kettle脚本_第2张图片

3、时间到了后可以到脚本里kettle的日志文件去确认是否执行

一百七十、Linux——Crontab定时任务调度Kettle脚本_第3张图片

我设置时间为17点的6分到7分执行,但是一直到17点14分kettle任务还在跑

当然,HDFS中确实生成了9月1日今日的文件,而且任务运行时间是我设置的17点7分

一百七十、Linux——Crontab定时任务调度Kettle脚本_第4张图片

说明,我在Crontab里设置的17点7分不是任务的结束时间,而是任务的执行开始时间

还要尝试其他的方法,不亦悲乎?

你可能感兴趣的:(大数据调度工具,Linux,Kettle,linux)