专注于中国的商业智能

导航

关于kettle使用crontab+kitchen部署的一点波折

刚使用kettle不久,由于我们在kettle程序中使用了hive的驱动,因此在kitchen.sh中增加了hive驱动的一行classpath。写的脚本使用kitchen执行我们的job没有任何问题。但是用crontab做计划任务部署上去的时候,发现执行不了了,报错信息是找不到hive驱动。

经过排查,基本确定问题出在classpath上,但是无论是在脚本里面 把classpath补全还是在crontab中把classpath都没有解决问题。不经意查看kitchen.sh的时候,发现如下两行

BASEDIR=`dirname $0`

CLASSPATH=$BASEDIR

才知道原来kitchen的classpath是读取的当前路径,于是在调用kitchen.sh的脚本中增加了一行

cd /pentaho/pentaho/data-integration 切换到kettle的根目录,问题得到解决。

完整的脚本代码为

export JAVA_HOME=/usr/local/java/

cd /pentaho/pentaho/data-integration

./kitchen.sh /rep 192.168.0.13.PDI_Repository /user root /pass *** /dir /Plan_Job /job Job_Load_All /logfile /pentaho/Plan/kitchen_run.log

posted on 2011-08-11 15:29  李梦蛟  阅读(5523)  评论(8编辑  收藏  举报