kettle任务在Linux服务器上定时调度

1、首先需要在linux上安装kettle,并且设置相关的环境变量

2、本地windows上新建转换,并测试结果

3、新建作业,测试是否成功

4、上传服务器到相应的文件夹下,执行文件

# 转换  file后是文件的存储路径
./pan.sh -file=/data/kettle/kettle_transition/ds.ktr
# 作业   
 ./kitchen.sh -file=/data/kettle/kettle_job/ds.kjb

5、写shell脚本执行

cd /data/kettle/data-integration
export JAVA_HOME=/data/java/jdk1.8.0_141/

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin


./kitchen.sh -file=/data/kettle/kettle_job/test01.kjb
>>/data/kettle/kettle_log/ceshi_$(date +%Y%m%d).log

 6、设置定时任务

*/1 * * * * /bin/sh  /data/kettle/kettle_sh/ceshi.sh1  //每分钟执行一次ceshi.sh

然后重启定时任务

/bin/systemctl restart crond.service

几个容易出错的地方:

1、数据库与服务器是否连通

# 先测试网络
ping  192.168.xx.xx  

# 再测试数据库端口,mysql为例

telnet 192.168.xx.xx  3306

 2、数据库驱动,可能服务器上安装完后忘记对应的驱动,如果第一步没问题,本地的转换到服务器无法执行可能定位到驱动问题。此时 只需要把本地驱动上传到服务器即可。

这里安利一个自己使用非常好用的上传软件

https://filezilla-project.org/

上传下载东西十分方便

 本地与服务器直接拖拉拽,非常实用

3、本地迁移到服务器作业的路径一定要是服务器所在的目录

    大致都是本地测试,然后服务器测试转换,再测试作业,再测试脚本,查看log,设置定时任务。出错了就根据上面步骤排查即可。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值