win7系统和centos7定时调度kettle作业详细教程

一、kettle自带的调度会长时间启动kettle软件占用系统内存,随着时间长同时还会出现卡掉,或者被kill的现象。我们采用win或linux定时任务取而代之。

1、在win7系统中我们采用计划任务定时调度kettle:

①首先用kettle创建ktr文件(简单易懂本次采用直接从mysql读数据然后存入txt文档)

a、创建DB连接如图:

b、将创建的DB连接测试通过之后右键共享出来:

 

 

c、简单创建ktr和kjb

 

 ② 编写批处理文件kettlejob.bat:(如下)

@echo off 
C:
cd C:\Users\test\Desktop\outfiles\pdi-ce-7.1.0.0-12\data-integration
Kitchen.bat /file=C:\Users\test\Desktop\outfiles\testkettle.kjb /level:Basic>>C:\Users\test\Desktop\outfiles\kettle_%date:~0,4%%date:~5,2%%date:~8,2%.log
exit

注:cd到kettle bin 目录使用 Kitchen.bat 调用 然后将日志以年月日的格式输出到指定文件目录以便查看,。

③到这时你会发现win直接调用bat文件会出现屏幕闪烁弹出cmd框实在不友好。接着研究创建vbs文件静默运行直接解决之间的问题创建test.vbs:

DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C C:\Users\test\Desktop\outfiles\kettlejob.bat", 0, TRUE)

④打开win7控制面板找到管理工具然后找到计划任务:

a、新建任务 

b、创建触发器:

c、选择刚才创建的vbs文件:”


至此直接完美整合win7计划任务调度kettle静默运行。

2、在centos7中整合kettle运行时必须保证安装了crontab

① 将kettle7上传到centos7指定文件夹

 

②修改etc/profile配置KETTLE_HOME

③分别创建schedule.sh和testkettle.kjb和tettt.ktr:

 a、schedule.sh

#export JAVA_HOME=/usr/java/jdk1.8.0_121
#export PATH=$PATH:$JAVA_HOME/bin
#export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
source /etc/profile
$KETTLE_HOME/kitchen.sh -file=/data/kettle/testkettle.kjb >>/data/kettle/logs/log$(date +"-%Y-%m-%d").log 2>&1
b、testkettle.kjb和tettt.ktr

 

③往 cron 中添加一个作业

crontab –e

*/5 * * * * /data/kettle/schedule.sh :每五分钟执行一次调度

以下是 crontab 的常用命令:

crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。 
crontab –l : 显示 crontab 文件。 
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

最后:crontab -e 进入定时任务编辑文件,命令格式见下方:

   # 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    

   分 时 日 月 周 命令 
   第1列表示分钟1~59 每分钟用*或者 */1表示 
   第2列表示小时1~23(0表示0点) 
   第3列表示日期1~31 
   第4列表示月份1~12 
   第5列标识号星期0~6(0表示星期天) 
   第6列要运行的命令

   例如:每天早上7:50执行一次execron.sh

   50 7 * * * /data1/testdata/execron.sh

   详细执行命令解释请参考百度百科:

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值