一、下载kettle
官网7.1版本:Pentaho from Hitachi Vantara - Browse /Data Integration/7.1 at SourceForge.net
安装unzip
yum install -y unzip zip
安装jdk
保证linux上面已经安装jdk,因为kettle是用Java开发,依赖于jdk
解压kettle
unzip pdi-ce-7.1.0.0-12.zip
添加权限
进入data-integration文件夹,如果里面.sh文件没有权限,可以使用命令增加
chmod +x ./data-integration/*.sh
测试是否部署成功
cd /www/download/kettle/data-integration
进入data-integration文件夹
输入:./kitchen.sh
出现帮助信息,则证明可以运行。如下图:
运行
./pan.sh -file=/www/download/kettledata/linux测试.ktr
成功
过程中出现的问题
com.mysql.cj.jdbc.Driver 驱动缺失
将 mysql-connector-java-8.0.16.jar驱动包放入/www/download/kettle/data-integration/lib
可以参考文章:kettle案例九-----linux使用kettle_张小凡vip的博客-CSDN博客_kettle linux使用
二、kettle配置定时任务
创建脚本文件
创建脚本文件目录 kettleShell 和日志文件 kettleLogs
cd /www/download/kettle
mkdir kettleShell kettleLogs
在到目录kettleShell文件下创建test.sh脚本
vim test.sh
export JAVA_HOME=/www/download/jdk8/jdk1.8.0_281
export JRE_HOME=/www/download/jdk8/jdk1.8.0_281/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
TIME=$(date "+%Y%m%d")
/www/download/kettle/data-integration/pan.sh -file=/www/download/kettle/kettledata/linux测试.ktr >> /www/download/kettle/kettleLogs/log$TIME.log
前面三行配置java路径,最后一行配置kettle的工具路径、运行转换文件的路径、转换过程的日志
安装crontab
yum install vixie-cron
yum install crontabs
查看crontab服务是否运行
/sbin/service crond status
或
ps -elf|grep crond|grep -v "grep"
crontab命令
systemctl start crond 开启
systemctl stop crond 关闭
systemctl status crond 查看状态
systemctl restart crond 重启
systemctl reload crond 重新加载配置
crontab -l //列出当前的所有调度任务
crontab -l -u jp //列出用户jp的所有调度任务
更多crontab知识: https://www.iteye.com/blog/panyongzheng-2220839
编辑定时时间
crontab -e
*/10 * * * * /www/download/kettle/kettleShell/test.sh
此处为每隔10分钟运行一次,输出的日志为test.log