Путь JAVA_HOME кластера Hadoop не найден с помощью Oozie

У нас есть кластер Hadoop 2.3, где для JAVA_HOME установлено значение:

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

Запуск Oozie Check из формы Ambari приводит к «все в порядке», но при выполнении любой команды 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 нашего кластера, чтобы он указывал на нужное место, или это может повлиять на другие функции в кластере?

Заранее спасибо!


person AxA    schedule 20.01.2016    source источник
comment
Я не думаю, что это должно быть проблемой. JAVA_HOME всегда должен указывать на корневой каталог JDK. В данном случае это /usr/lib/jvm/java-1.7.0-openjdk.x86_64, а не /usr/lib/jvm.   -  person mbbce    schedule 20.01.2016


Ответы (1)


Если вы установили jdk по умолчанию командой

> sudo apt-get install default-jdk

затем вы должны установить JAVA_HOME как

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

потому что этот путь используется по умолчанию, и вам также необходимо обновить файл /.bashrc.

person R.J    schedule 20.01.2016