【发布时间】:2016-01-20 10:02:41
【问题描述】:
我们有一个 Hadoop Cluster 2.3,其中 JAVA_HOME 设置为:
(cluster etc/profile)
$ echo $JAVA_HOME = /usr/lib/jvm
在 Ambari 中运行 Oozie Check 会导致“一切正常”,但是在运行任何 oozie 命令时我们会收到错误,例如:
$ oozie version
$ /usr/hdp/2.3.0.0-2557/oozie/bin/oozie.distro: line 59: /usr/lib/jvm/bin/java:
No such file or directory
这可能是因为脚本 /usr/hdp/2.3.0.0-2557/oozie/bin/oozie.distro 中的代码尝试使用以下方法计算和使用 JAVA_BIN 路径:
...
JAVA_BIN=${JAVA_HOME}/bin/java
...
不存在的!
我们的 Hortonworks 沙箱中的 JAVA_HOME 设置非常不同,并且 oozie 工作正常:
(sandbox - cannot see any JAVA_HOME set into etc/profile)
$ echo $JAVA_HOME = /usr/lib/jvm/java-1.7.0-openjdk.x86_64
将集群的 JAVA_HOME 更改为指向正确的位置是否安全,或者这可能会影响集群中的其他功能?
提前致谢!
【问题讨论】:
-
我认为这应该不是问题。 JAVA_HOME 应该始终指向 JDK 的根目录。在这种情况下是
/usr/lib/jvm/java-1.7.0-openjdk.x86_64而不是/usr/lib/jvm
标签: hadoop oozie java-home path-variables