1.安装 jdk
2.部署 kettle
-
创建一个目录,将下载好的 kettle 解压后放在该文件夹下。
# mkdir /root/software/kettle # cp /root/pdi-ce-5.0.1-stable.zip /root/software/kettle # cd /root/software/kettle # unzip pdi-ce-5.0.1-stable.zip # cd data-integration # ll *.sh # chmod +x *.sh //以.sh结尾的文件必须拥有执行权限,如果没有,请赋予
-
测试安装是否成功
在 kettle 的 data-integration 目录中执行 kitchen.sh 文件,若出现帮助信息,证明安装成功
# ./kitchen.sh
kitchen.sh:执行 job
pan.sh:执行转换
-
运用 crontab 执行 kettle 程序
-
建立目录存放 kettle 文件
# mkdir -p /root/kettle/kettle_file/job // 存放作业文件 # mkdir /root/kettle/kettle_file/transition // 存放转换 # mkdir /root/kettle/kettle_sh // 存放执行脚本 # mkdir /root/kettle/kettle_log // 存放执行kettle产生的日志文件 将从windows上配置好的.ktr和.kjb程序分别放在transition目录和job目录下(或linux下编写后直接保存到该目录下)
-
编写执行脚本
# cd /root/kettle/kettle_sh # vim ceshi.sh
文本内容如下:
#!/bin/bash #执行job程序 cd /root/software/kettle/data-integration export JAVA_HOME=/usr/java/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ./kitchen.sh -file=/root/kettle/kettle_file/job/ceshi.kjb-level=basic >>/root/kettle/kettle_log/ceshi_$(date +%Y%m%d).log # chmod +x ceshi.sh # sh -x ceshi.sh
注:(因为 crond 是个守护进程,它不归属于任何用户,虽然之前以 root 用户配置了 java 环境变量,但是 crond 一样找不到 java 命令,所以,当 crond 执行 kettle 任务时,需要动态设置 java 环境变量,否则会出现手动执行.sh 没问题,放 crontb 里面执行后无效果)
-
设定 crontab 定时执行任务
对这部分不了解的可以看一下:Linux crontab 命令详解
# crontab -u root -e */1 * * * * /root/kettle/kettle_sh/ceshi.sh //每分钟执行一次ceshi.sh # systemctl restart crond # systemctl enable crond
-
到此大功告成,记得在数据库中验证结果
注意:
在 linux 中,如果是通过图形界面执行程序的话,点击那个绿色的三角即可。如果是命令行启动,后台执行进行进程不能中断。因此,在 linux 中不推荐使用 kettle 里面的自动执行,使用操作系统的定时执行要稳定的多。Windows 下使用定时任务计划,linux 下使用 crontab。
版权声明
出处:https://mp.weixin.qq.com/s/-piIePCzktTwyjCKlZumhg
未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利.
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于