安装JDK
首先卸载Linux自带的open JDK ,使用open jdk也是没有问题的,本文使用的是oracle的jdk
查看openjdk的版本 rpm -qa | grep jdk
卸载openjdk:yum -y remove java java-1.7.0-openjdk*
或者rpm -e --nodeps java-
1.7
.
0
-openjdk-
1.7
.
0.9
-
2.3
.
4.1
.el6_3.i686
centos7 里面会多一个 copy-jdk-configs-1.2-1.el7.noarch,直接用yum命令卸载就好了,相关依赖也会卸载
把jdk解压后,配置环境变量即可
#配置.kettle目录位置,不配置的话.kettle目录会在当前用户的家目录下面生成
export KETTLE_HOME=/app/kettle8/data-integration
#配置jdk环境变量
export JAVA_HOME=/app/jdk1.8.0_101
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin:$KETTLE_HOME
java -version 显示版本信息,Java环境安装成功
安装Kettle
把zip文件上传到Linux服务器上
unzip pdi-ce-8.0.0.0-28.zip
解压zip文件到当前目录,提示不识别命令unzip,就安装软件,安装unzip和zip
# .kitchen.sh 显示kettle的帮助信息则安装kettle成功
如果使用普通用户,需要添加文件的执行权限
#cd $KETTLE_HOME
# chmod +x *.sh
运行./pan.sh 后 .kettle目录会再配置的KETTLE_HOME目录下面生成,如果没有配置KETTLE_HOME这个目录会在当前用户家目录生成,.kettle目录下会生成kettle.properties,这个文件是用来配置kettle全局变量的,一般数据库连接ip地址,用户,密码都可以配置在这个文件,另外还可以覆盖kettle一些自带的变量值
运行kettle流程
编写shell脚本
#!/bin/bash //这一行必须要有
cd /app/kettle8/data-integration
#需要导入jdk路径
export KETTLE_HOME=/app/kettle8/data-integration
export JAVA_HOME=/app/jdk1.8.0_161
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin:$KETTLE_HOME
#通过kitchen运行作业,每次运行产生一个日志
./kitchen.sh -file=/app/kettle8/zgh/job/tqc.kjb -level=Basic >>/app/kettle8/zgh/log/t_qc_$(date "+%Y%m%d-%H%M%S").log
编写crontab脚本
#crontab -e //编辑定时器
#crontab -l //查看所有定时任务
参考例子
#每天0-1和4-23点期间 每隔15分钟运行一次脚本
*/15 4-23,0-1 * * * /opt/zgh/sh/run_update_single.sh
#每天2:30运行一次脚本
30 2 * * * /opt/zgh/sh/run_bcb_single.sh
#每天3:00运行一次脚本
0 3 * * * /opt/zgh/sh/run_ent_space.sh
crontab需要注意的一个是:比如设置每22分钟运行一次,那么会在每个小时0分钟,22分钟,44分钟运行,并不是每加22分钟运行一次