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