1 下载kettle安装包
1.1 Kettle安装包官网下载地址:
http://sourceforge.net/projects/pentaho/files/Data%20Integration/3.2.0-stable;(5.0.1以上版本都不支持,我用的是5.0.1版本)。给aix系统安装jdk,PS:必须1.6以上版本。配置好环境变量。
2 安装部署kettle
2.1、本地下载完kettle安装包,解压完直接upload到aix服务器上就好,然后你执行测试进到 kettle安装目录 data-ingegration目录下,找到.kitchen.sh文件,执行这个文件前,要先给权限,:输入命令:chmod +x .kitchen.sh 然后执行./kitchen.sh出现以下说明你已经安装成功了,如果不正常显示的,你需要找到服务器根目录etc文件夹下projfile文件编辑在里面添加KETTLE_HOME=你所安装的kettle地址如:KETTLE=HOME=d:\pdi-ce-5.0.1.A-stable\data-integration
然后再执行应该就可以了。
3编写要执行的定时job
在你要编写的job .sh文件中要加入环境变量如:
export PATH=$PATH:JAVA_HOME/bin
export JAVA_HOME=/usr/java6_64/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export KETTLE_HOME=/kettle/kettle/pdi-ce-5.0.1.A-stable/data-integration
cd /kettle/kettle/pdi-ce-5.0.1.A-stable/data-integration
./kitchen.sh /rep:mykettle /job:kyxmdatajob /dir:/reposity /user:admin /pass:admin /lever:basic >>/kettle/kettlog/kettlejoblog.log
下面这个是job脚本,我的JoB是放在资源库库的;
这个是本人在手动测试时候正常,然后定时任务自动执行时报找不到目录。所以就配置了一个。
上面是执行时候需要的环境变量,下面还有一个配置当前kettle安装路径的环境变量是为定时任务准备的,先写好。下面就是你要执行的kettjob 脚本,其中资源库名称,user:pwd 还有自己的资源库目录路径,日志所输出的路径。
4执行Job手动测试
要测试job时还需要一个.kettle文件这个文件新安装的kettle是没有的,你需要在你本地执行过转换数据后才生成此文件,把.kttle文件复制一份到服务器kettle安装目录data-ingegration下一个,目的是等于配置数据库地址,用户名密码,资源库等.kettle文件内容如图:repositories.xml文件就是你执行过转换的数据库登陆口令,和你数据库的地址等。 以上步骤都没问题的话就可以执行手动测试你的job脚本有没有问题了,cd到data-ingegration目录下然后执行./kitchen.sh 后面跟上你要执行的job路径和名字,别忘了给权限。
如果能正常执行的话,就没问题了。
5创建定时任务执行job
在服务器根目录/var/spool/cron/crontabs下创建一个文件 这个文件的名字就以你当前登陆的名字命名:比如root那文件名就是root;
6 编写定时文件脚本
在创建好的文件里面写入定时时间,后面跟上你的 Job脚本路径
如1 * * * * /bin/sh /kettle/kettlejob/kettlejob.sh
前面是时间不懂的就可以百度; /bin/sh 后面需加入空格,然后后面是你放job脚本的路径。
创建完成后,就可以测试了。查了网上资料说创建完定时任务后,要重启cron。ps –ef查看cron进程,然后Kill此进程就好。 Kill –进程pid。
然后执行命令tail -f /var/adm/cron/log;你的定时任务脚本路径。
Crontab –l 可以看见当前用户下的定时任务;
到此应该就可以了。
Date查看当前系统时间
Date–n 1001000015 10月1日00时00分15年 MMDDHHMMYY
共同学习,写下你的评论
评论加载中...
作者其他优质文章