CentOS(Linux)安装KETTLE教程 并配置执行定时任务

1,首先是安装jdk,并设置环境变量

采用yum安装可不设置环境变量

2,下载kettle

https://sourceforge.net/projects/pentaho/files/Data%20Integration/

请选择我们当前工作的版本7.0

可以使用如下命名直接下载

wget -c --output-document=pdi-ce-7.0.0.0-25.zip https://nchc.dl.sourceforge.net/project/pentaho/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.zip

3,使用unzip命令对这个压缩包进行解压

unzip pdi-ce-7.0.0.0-25.zip -d "/opt/kettle"

4,解压后给予相应文件可执行权限

进入到/opt/kettle/data-integration

授予 *.sh +x权限 即可执行权限

5,执行转换

编写测试转换,执行如下命令即可

/opt/kettle-spoon/data-integration/pan.sh -file=/opt/kettle-spoon/ktr/test/test1.ktr log=test1.log

6,执行job

sudo /opt/kettle-spoon/data-integration/kitchen.sh -file=/opt/kettle-spoon/ktr/test/SechuldUpdate.kjb log=timeLogUpdate.log

如果是job需要定时,如果我们需要执行的是一个job,则可跳过下列步骤,直接在job里设置定时参数即可 

job和ktr的路径变量问题需要注意,也可以直接写绝对路径

7,配置定时任务

7.1,如果是转换文件需要定时

可以按照如下方法操作,创建一个文件 test.sh

在这个文件里写入如下语句

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
/opt/kettle-spoon/data-integration/pan.sh -file=/opt/kettle-spoon/ktr/test/Sechuld.kjb log=log.timelog ~data +%y%m%d~

然后给这个文件可执行权限 +x

然后运行 crontab –e 编辑定时任务

*/10 * * * * bash /home/etl/ schedule.sh表示每隔10分钟执行一次schedule.sh

然后保存,运行crontab–l查看定时任务是否已载入

运行systemctl restart crond重启定时任务,运行systemctl status crond查看crontab服务状态

原文地址:https://www.cnblogs.com/huanghuanghui/p/9683055.html