2015-07-28 67 views
0

我在Ubuntu 15.04上安裝了Hadoop 2.7.0單節點集羣,遵循here的命令,幾乎所有的操作都很順利,直到命令格式化hdfs。在Ubuntu 15.04上安裝hadoop 2.7找不到或加載主類

當我進入

$ hdfs namenode -format 

我得到錯誤:

在.bashrc中我有

#hadoop variables 
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/lib/amd64 
export HADOOP_HOME=/usr/local/hadoop 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin 
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME 
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" 

在hadoop-env.sh我

export JAVA_HOME="/usr/lib/jvm/java-8-oracle" 

什麼我該如何做?擺脫錯誤?

我假設有什麼地方錯了java路徑,但我想不出什麼... 有人能幫忙嗎?...提前

感謝。

回答

1

在bashrc中單獨設置以下變量。刪除您已設置的所有其他變量,然後嘗試

export JAVA_HOME=/usr/lib/jvm/java-8-oracle 
export HADOOP_HOME=/usr/local/hadoop 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin 

讓我知道如果你仍然有任何問題。

+0

我刪除了上述四個變量,並在運行'$ hdfs namenode -format'後我仍然得到同樣的錯誤,說不關於查找或加載Djava.library ... blahblah,雖然我從bashrc刪除行... –

+0

你做了chnage後,你運行**源〜/ .bashrc **? – Kumar

+0

是的,我做過。仍然沒有變化只有四個變量,但它的工作時,我添加了你建議應刪除。之前運行格式化命令時,我一定錯過了這個命令。謝謝... –

0

是的,它看起來像你得到的Java錯誤。您需要正確配置JAVA_HOME。 .bashrc和hadoop-env.sh上的JAVA_HOME應該是相同的。

$java -version 

bin/java和bin/javac的位置是什麼?

+0

兩者的路徑是/ usr/lib/jvm/java-8-oracle,但是如果我把這個路徑放到.bashrc和hadoop-env.sh中,我會得到同樣的錯誤。 –

+0

如果我把/ usr/lib/jvm/java-8-oracle/bin/amd64 ... –

+0

是否可以正確格式化namenode,則會出現同樣的錯誤。也檢查出口雙引號HADOOP_OPTS =「 - Djava.library.path = $ HADOOP_HOME/lib」 – Vicky

0

我有同樣的問題。問題在於我在hadoop-env.sh文件中設置了JAVA_HOME env變量。

我相信'。'當您使用以下命令

set JAVA_HOME=/my/path/to/java 

取而代之的是設置JAVA_HOME出現變量分離路徑,你應該只需

JAVA_HOME=/my/path/to/java 

所有的一切都將正常啓動。

相關問題