对于spark任务来说,我们的任务分为实时任务、批处理任务两种。对于实时处理任务,我只需要调整好资源、批处理时间,启动后就会一直执行,就不用开发者操什么心了;但是对于spark批处理任务来说,任务执行的时间大部分在凌晨左右,如果每次执行任务都需要开发者手动启动,是很令人烦恼的。
针对批处理任务这种情况,就需要一个定时执行工具,来帮助我们按照设定时间自动执行任务,这个工具就是crontab。下面为大家介绍一下crontab的用法:
1、查看是否安装crontab
rpm -qa|grep cron
加入开机自动启动:
chkconfig –level 35 crond on
2、安装crontab
yum -y install vixie-cron
yum -y install crontabs
3、启动和暂停命令
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态
4、查看所有定时器任务
crontab -l
5、添加定时器任务
crontab -e (编辑操作与vim编辑基本一致)
6、crontab的时间表达式
基本格式:
* * * * * command
分 时 日 月 周 命令
注意:在编写定时执行的脚本时,shell脚本第一句一定要加上 source /etc/profile,不然在/var/spool/mail/root日志文件会出现JAVA_HOME is not set提示。(很深的一个坑,曾经被埋进去两天才走出来)