刚使用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

相关文章:

  • 2022-02-05
  • 2021-07-13
  • 2021-11-26
  • 2021-10-03
  • 2021-08-30
  • 2021-09-24
  • 2021-11-15
猜你喜欢
  • 2022-03-04
  • 2022-12-23
  • 2021-05-27
  • 2021-06-01
  • 2021-08-12
  • 2021-10-13
  • 2021-12-01
相关资源
相似解决方案