2016-01-20 69 views
0

发现我们有一个运行Hadoop集群的2.3,其中JAVA_HOME设置为:Hadoop集群JAVA_HOME路径不与Oozie的

(cluster etc/profile) 
$ echo $JAVA_HOME = /usr/lib/jvm 

运行Oozie的检查形式Ambari导致“一切OK”,但在运行任何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 
... 

哪个不存在!

的JAVA_HOME在我们的Hortonworks沙箱设置非常不同,并有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在正确的位置点或可能影响其他集群中的功能?

在此先感谢!

+0

我不认为这应该是一个问题。 JAVA_HOME应该始终指向JDK的根目录。在本例中是'/ usr/lib/jvm/java-1.7.0 -openjdk.x86_64'而不是'/ usr/lib/jvm' –

回答

0

如果您安装了命令缺省JDK

> sudo apt-get install default-jdk 

那么,你应该设置JAVA_HOME为

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

,因为该路径采取的是默认的,你需要在/.bashrc更新文件也是。