2015-06-14 77 views
0

我已經開始學習最近Hadoop和在創建新的文件夾,我提示以下錯誤: -Hadoop的基礎 - 在創建錯誤directroy

vm4learning @ vm4learning:〜/安裝/ Hadoop的1.2.1 /斌$ ./hadoop fs -mkdir helloworld警告:$ HADOOP_HOME已棄用。 15/06/14 19:46:35信息ipc.Client:重試連接到服務器: localhost/127.0.0.1:9000。已經嘗試0次(s);重試的政策是 RetryUpToMaximumCountWithFixedSleep(maxRetries = 10,休眠時間= 1 秒)

請求你help.below是namdenode日誌 -

015-06-14 22:01:08158信息組織。 apache.hadoop.hdfs.server.common.Storage:存儲目錄/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name不存在 2015-06-14 22:01:08,161錯誤org.apache .hadoop.hdfs.server.namenode.FSNamesystem:FSNamesystem初始化失敗。 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目錄/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name處於不一致狀態:存儲目錄不存在或無法訪問。 at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:395) at org.apache .hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) at org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:569) at org.apache.hadoop。 hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488) 2015-06-14 22:01: 08,182錯誤org.apache.had oop.hdfs.server.namenode.NameNode:org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目錄/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name處於不一致狀態:存儲目錄不存在或不可訪問。 at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:395) at org.apache .hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) at org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:569) at org.apache.hadoop。 hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)

2015-06-14 22:01:08,185 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:SHUTDOWN_MSG: /******************* ***************************************** SHUTDOWN_MSG:在vm4learning上關閉NameNode/192.168.1.102 ************************************** **************/

+0

mkdir:調用本地主機/ 127.0.0.1:9000連接失敗異常:java.net.ConnectException:連接被拒絕 –

+0

在控制檯執行'jps'並更新您的問題。 – chomp

+0

JPS瞭如下的結果-8980 JPS 8129 JobTracker的 7914的DataNode 8269的TaskTracker 8052 SecondaryNameNode –

回答

1

在開始創建一個目錄之前,通過jps命令確定您的hadoop安裝是正確的,並且查找任何缺失的進程。

在你的情況下,namenode沒有啓動。

如果您在日誌中看到,它似乎是某些文件夾沒有創建。這樣做:

mkdir -p $HADOOP_HOME/dfs/name 
mkdir -p $HADOOP_HOME/dfs/name/data 

並在hdfs-site.xml中指定以下內容。

<property> 
    <name>dfs.data.dir</name> 
    <value>/usr/local/hadoop/dfs/name/data</value> 
    <final>true</final> 
</property> 
<property> 
    <name>dfs.name.dir</name> 
    <value>/usr/local/hadoop/dfs/name</value> 
    <final>true</final> 
</property> 

重新初始化hadoop,並記住格式化之前做任何事情。

+0

它的工作原理 - 非常感謝 - 您能否解釋爲什麼需要這些更改以及發生了什麼 - 再次感謝 –

+0

您的HDFS文件夾創建在FS之上。這就是爲什麼當我看到你的namenode在抱怨那些不存在的FS目錄(用於創建hadoop文件系統的默認目錄)時,我想你還沒有創建它們。我告訴你在hdfs-site中指定這些屬性,因爲如果你不這樣做,它可能會導致另一個問題。 Np – chomp

+0

希望對你來說已經足夠了。如果你有時間,也許你可以接受我對這個問題的回答;) – chomp