Hadoop / Hive命令无法从Crontab运行

时间:2013-05-15 07:05:42

标签: linux bash hadoop cron hive

我无法从Crontab执行hadoop / hive命令。基本上我已经在crontab中安排了一个perl脚本,其中包含在我的操作之前设置PATH的系统命令。

我知道,从cron运行的env可能与你的常规shell不同。这就是我设置如下路径的原因。有没有其他方法可以使它工作?

system(“。/ home / ciber / .bash_profile”);

system(“export JAVA_HOME = / usr / lib / jvm / java-6-openjdk-amd64”);

system(“export HADOOP_INSTALL =〜/ poc / install / hadoop-1.0.3”);

system(“export PATH = $ PATH:$ HADOOP_INSTALL / bin”);

system(“export HADOOP_HOME = $ HADOOP_INSTALL”);

system(“export HIVE_INSTALL =〜/ poc / install / hive-0.9.0”);

system(“export PATH = $ PATH:$ HIVE_INSTALL / bin”);

@Jingguo Yao:你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以在crontab中使用命令的绝对路径。此外,您可以简单地在crontab中声明env变量。例如 富=酒吧

答案 1 :(得分:0)

如果从终端而不是在crontab中正确执行,则在脚本中加载用户bash配置文件应该可以正常工作,如下所示

. ~/.bash_profile

. /home/<user>/.bash_profile

#!/bin/bash通常包含bash_profile,它也会有用户特定的配置。