Kettle定时任务执行(Linux&Windows)和错误总结

Kettle定时任务执行(Linux&Windows)和错误总结

环境描述:
现在需求要定时地执行kettle的作业任务,自动化地完成ETL工作,kettle运行环境可分为Linux和Windows。

解决方案:(Windows)
1.1:安装jdk,下载kettle,kettle运行依赖jdk。
jdk下载地址:https://www.oracle.com/technetwork/java/javase/overview/index.html
kettle下载地址:https://community.hitachivantara.com/docs/DOC-1009855
windows环境变量安装参考:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

1.2:解压并运行目录中的spoon.bat。
在这里插入图片描述
1.3:使用kettle新建一个转换ktr和作业job,教程参考:http://www.kettle.net.cn/d
这里讲定时任务如何设置,在通用里兴建一个start和转换,转换要指定ktr的位置,双击start按钮,设置定时任务即可。
在这里插入图片描述

方案解决:(Linux)
2.1:环境准别:centos6.5,jdk1.8,kettle安装包。
linux安装jdk:https://www.cnblogs.com/shihaiming/p/5809553.html
用java -version检查并查看JAVA_HOME:

在这里插入图片描述
2.2:在/opt/kettle,新建四个目录,kettle存放解压的kettle安装包,shells存放kettle任务运行的shell脚本,job存放kettle的准换和作业,logs存放任务执行的日志。
在这里插入图片描述
*2.3:上传kettle安装包,解压,查看文件目录和windows下相似。
赋予sh执行权限:chmod u+x .sh
运行kitchen.sh和spoon.sh进行测试,环境稳定即出现相关指令的帮助。

在这里插入图片描述
2.4:讲lib下的jar包拷贝到linux的运行环境下,kettle运行的jar包默认在lib下,现在拷贝到linux运行的libswt/linux/x86下,否则运行会报错ClassNotFound
在这里插入图片描述
2.5:在windows下测试好的ktr上传到linux下,执行文件命令:
./kitchen.sh -file=/root/kettle/kettle_file/job/ceshi.kjb-level
报错:Couldn’t find starting point in this job.
解决方案:-file必须执行job任务,将ktr任务放入kjb中,执行kjb

在这里插入图片描述
2.6:执行 ./kitchen.sh -file=/opt/kettle/job/邮件.kjb,成功
如果报错:在windows下修改转换任务的路径为linux下ktr的路径

在这里插入图片描述
报错解决:Could not find /…,在windows下双击准换步骤
在这里插入图片描述
2.7:shell脚本编写,使用crontab任务调度执行:
在这里插入图片描述
2.8:编写crontab定时任务:10分钟执行一次
Linux的crontab任务调度参考:https://www.cnblogs.com/intval/p/5763929.html

在这里插入图片描述

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值