hadoop/hive命令不能从crontab运行

jchrr9hc  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(406)

我无法从crontab执行hadoop/hive命令。基本上,我已经在crontab中安排了一个perl脚本,其中包含在操作之前设置路径的系统命令。
我知道,从cron运行的env可能与常规shell不同。这就是我设置如下路径的原因。有没有别的办法让它发挥作用?
系统(“/home/ciber/.bash_profile“);
系统(“export java_home=/usr/lib/jvm/java-6-openjdk-amd64”);
系统(“export hadoop_install=~/poc/install/hadoop-1.0.3”);
系统(“export path=$path:$hadoop\u install/bin”);
系统(“export hadoop_home=$hadoop_install”);
系统(“export hive_install=~/poc/install/hive-0.9.0”);
系统(“导出路径=$path:$hive\u install/bin”);
@姚景国:你对此有什么想法吗?

n3h0vuf2

n3h0vuf21#

如果它是从终端而不是在crontab中正确执行的,那么在脚本中加载用户bash profile应该可以完成以下工作

. ~/.bash_profile

. /home/<user>/.bash_profile

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

cngwdvgl

cngwdvgl2#

您可以在crontab中查看命令的绝对路径。另外,您可以简单地在crontab中声明env变量。例如foo=bar

相关问题