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,设置定时任务。出错了就根据上面步骤排查即可。 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐