Это учебник, который я следую:убунту класс Hadoop путь
http://wiki.apache.org/hadoop/Running_Hadoop_On_Ubuntu_Linux_(Single-Node_Cluster)
Я пытаюсь для форматирования HDFS NameNode
[email protected]:/usr/local/hadoop/bin# ./hadoop namenode -format
./hadoop: line 258: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory
./hadoop: line 289: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory
./hadoop: line 289: exec: /usr/lib/jvm/java-6-sun/bin/java: cannot execute: No such file or directory
Я также включил изменения, которые я сделал в/etc/bash.bashrc
. Они были сделаны, чтобы настроить путь:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
export JDK_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
Я проверил, если переменная Java была установлена быть echo $JAVA_HOME
. Ниже путь
/usr/lib/jvm/java-6-openjdk
which java
возвращает другой двоичный чем $JAVA_HOME
указывает. Каков наилучший способ исправить это?
Очевидно, что 'java' находится где-то в другом месте. Вместо изменения общесистемного '.bashrc' (ваше имя файла опечатка?) Измените свой собственный. Из приглашения оболочки введите 'which java', чтобы увидеть, что он пытается выполнить. Возьми его оттуда. –
ok Я проверил, какой java возвращает/usr/bin/java. Я собрал его, но не был уверен, как его исправить. – alex
Ну, это может быть символическая ссылка на реальный Java-put * your * Java путь * first *, поэтому он переопределяет то, что находится в существующем '$ PATH'. Поскольку вы ставите второй, он сначала найдет все javascript по умолчанию. –