hadoop 2.5.2執行bin/hdfs namenode -format報錯

按照hadoop 2.5.2文檔學習,在執行命令

bin/hdfs namenode -format

時,老是報錯:

java.lang.NoClassDefFoundError: namecode


到網上搜了很多解決方法,有說修改

etc/hadoop/hadoop-env.sh增加

export HADOOP_COMMON_HOME=/root/test/hadoop-2.5.2

export HADOOP_PREFIX=/root/test/hadoop-2.5.2

等,試了,仍然報上面的錯誤。

後來突然想到JAVA環境變量,輸入命令

echo $CLASSPATH
發現輸出居然是:

.:/usr/local/java/jdk/jdk1.6.0_23/lib.tools.jar

注意看lib.tools.jar,明顯錯誤,還有。少了dt.jar,肯定會報找不到類錯誤。

修改/etc/profile文件,如下:

JAVA_HOME=/usr/local/java/jdk/jdk1.6.0_23

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

建議大家在已經安裝好的JDK的linux系統上學習Hadoop時,先檢查下JDK環境變量是否正確。因爲項目中有些人粗心大意,做事情不徹底,配錯了環境變量,然後導致別人在上面運行JAVA項目時出現莫名奇妙的錯誤,希望不要被坑了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章