【问题标题】:Hadoop cluster JAVA_HOME path not found with OozieOozie 找不到 Hadoop 集群 JAVA_HOME 路径
【发布时间】: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


【解决方案1】:

如果你通过命令安装了默认 jdk

> sudo apt-get install default-jdk

那么,你应该将 JAVA_HOME 设置为

> $JAVA_HOME = /usr/lib/jvm/jdk-version

因为这个路径是默认采用的,你也需要在 /.bashrc 文件中更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 2016-11-16
    • 1970-01-01
    • 2015-11-18
    • 2013-02-22
    • 1970-01-01
    • 2019-09-08
    • 2011-01-02
    相关资源
    最近更新 更多