kettle使用掌握之后,还需要掌握在linux下的定时执行的策略
一、kettle使用感觉较为方便
虽然kettle自带调度任务。但是前提是需要保持kettle打开。并且作业处在运行状态。不太适合用与远程服务器安装windows客户端,只限于学习使用
在linux安装kettle并通过调度是一个较为好用的方法
二、使用步骤
1、将kettle文件夹 data-integration 解压到linux服务器上 建立 /kettle/ 目录存放程序
2、建立目录存放kettle文件
mkdir /data/kettle/kettle_job //存放作业文件
mkdir /data/kettle/kettle_transition //存放转换
mkdir /data/kettle/kettle_sh //存放执行脚本
mkdir /data/kettle/kettle_log //存放执行kettle产生日志
将从windows配置生成的 .ktr 和 .kjb 程序分别放在 transition目录 和 job目录
3、编写执行脚本
/data/kettle/kettle_sh/start.sh
#!/bin/bash#执行job程序cd /data/kettle/data-integrationexport JAVA_HOME=/usr/local/jdk1.8.0_201/export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin./kitchen.sh -file=/data/kettle/kettle_job/testjob.kjb >>/data/kettle/kettle_log/ceshi_$(date +%Y%m%d).log
注:(因为crond是个守护进程,它不归属于任何用户,虽然之前以root用户配置了java环境变量, 但是crond一样找不到java命令,所以,当crond执行kettle任务时, 需要动态设置java环境变量,否则会出现手动执行.sh没问题,放crontb里面执行后无效果)
保存 start.sh,执行赋予权限命令
chmod +x start.sh
测试脚本是否可以正常执行
sh -x start.sh
4、设定crontab 定时执行任务
# crontab -e
*/1 * * * * /data/kettle/kettle_sh/ceshi.sh //每分钟执行一次ceshi.sh
# systemctl restart crond# systemctl enable crond
生效完成
三、ETL kettle学习路径
1、ETL工具(数据同步)_无敌小田田的博客-CSDN博客Kettle做跨库数据迁移工作https://blog.csdn.net/qq_36602951/article/details/125898662
2、
ETL工具(数据同步) 二_无敌小田田的博客-CSDN博客kettle使用掌握之后,还需要掌握在linux下的定时执行的策略https://blog.csdn.net/qq_36602951/article/details/125959374