2012-07-03 2 views
0

Это учебник, который я следую:убунту класс 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 указывает. Каков наилучший способ исправить это?

+0

Очевидно, что 'java' находится где-то в другом месте. Вместо изменения общесистемного '.bashrc' (ваше имя файла опечатка?) Измените свой собственный. Из приглашения оболочки введите 'which java', чтобы увидеть, что он пытается выполнить. Возьми его оттуда. –

+0

ok Я проверил, какой java возвращает/usr/bin/java. Я собрал его, но не был уверен, как его исправить. – alex

+0

Ну, это может быть символическая ссылка на реальный Java-put * your * Java путь * first *, поэтому он переопределяет то, что находится в существующем '$ PATH'. Поскольку вы ставите второй, он сначала найдет все javascript по умолчанию. –

ответ

1

Шаг 1:

export JAVA_HOME=/path/to/java 
export HADOOP_HOME=/path/to/hadoop 

Шаг 2: Установить JAVA_HOME путь к Conf/hadoop-env.sh

Шаг 3: CONF/ядро-site.xml:

<configuration> 
    <property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:9000</value> 
    </property> 
</configuration> 

Шаг 4: conf/hdfs-site.xml:

<configuration> 
    <property> 
    <name>dfs.replication</name> 
    <value>1</value> 
    </property> 
</configuration> 

Шаг 5: конф/mapred-site.xml:

<configuration> 
    <property> 
    <name>mapred.job.tracker</name> 
    <value>localhost:9001</value> 
    </property> 
</configuration> 

Шаг 6: Вход SSH Localhost и форматирование новой распределенной файловой системы

bin/hadoop namenode -format 

Шаг 7: Запустите Hadoop Демоны:

bin/start-all.sh 

Шаг 8: Проверьте имяNode & JobTracker ниже порта

http://localhost:50070/ 
http://localhost:50030/ 
0

Я нахожу забавное решение:
, если вы echo $JAVA_HOME, вы можете получить /usr/bin/java
echo export $JAVA_HOME=/usr/ >> conf/hadoop-env.sh

0

вы можете проверить: whereis java если вы можете увидеть localtion Ява «ы, то вы набираете env следить за своим дорожка. Если у вас что-то не так, вам нужно сбросить ваш путь java и путь hadoop.

Смежные вопросы