0

这是我正在关注的教程:

http://wiki.apache.org/hadoop/Running_Hadoop_On_Ubuntu_Linux_(Single-Node_Cluster )

我正在尝试格式化 hdfs namenode

root@alexander-desktop:/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返回与指向不同的二进制文件。解决此问题的最佳方法是什么?

4

3 回答 3

1

Step 1 :

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

Step 2 : Set JAVA_HOME path to conf/hadoop-env.sh

Step 3 : conf/core-site.xml:

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

Step 4 : conf/hdfs-site.xml:

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

Step 5 : conf/mapred-site.xml:

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

Step 6 : Login SSH localhost and Format a new distributed-filesystem

bin/hadoop namenode -format

Step 7 : Start the hadoop daemons:

bin/start-all.sh

Step 8 : Check the NameNode & JobTracker below port

http://localhost:50070/
http://localhost:50030/
于 2012-07-03T15:00:04.917 回答
0

我找到了一个有趣的解决方案:<br> 如果你echo $JAVA_HOME,你可能会得到/usr/bin/java
echo export $JAVA_HOME=/usr/ >> conf/hadoop-env.sh

于 2014-03-21T07:01:05.790 回答
0

您可以对其进行测试:whereis java 如果您可以看到 java 的位置,那么您可以键入 env 以查看您的路径。如果你有什么问题,你需要重置你的 java 路径和 hadoop 路径。

于 2018-03-06T06:23:40.677 回答