У нас есть кластер 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 нашего кластера, чтобы он указывал на нужное место, или это может повлиять на другие функции в кластере?
Заранее спасибо!
/usr/lib/jvm/java-1.7.0-openjdk.x86_64
, а не/usr/lib/jvm
. - person mbbce   schedule 20.01.2016