2016-05-15 75 views
0

我正在關注來自here的單節點羣集示例。 直到下執行第5步一切工作正常,但後來我碰到下面的錯誤輸出:Hadoop 2.7.2單節點羣集示例失敗

Asafs-MBP:hadoop-2.7.2 asafchelouche$ bin/hdfs dfs -put etc/hadoop input 
16/05/15 17:04:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
put: `input': No such file or directory 

不介意WARN,我研究它,它似乎並沒有什麼實際負面影響。我已經諮詢this SO問題,但無濟於事。看來這個指令是錯誤的:在步驟1中執行你格式化文件系統,所以沒有輸入文件夾。此外,它應該寫爲/input而不是input。我在這件事上糾正了嗎? 當我使用/input(在創建文件夾bin/hdfs dfs -mkdir /input之後)後,我得到一個巨大的堆棧跟蹤,出現異常(請參閱here,放置時間太長)。

這是爲什麼,我該如何解決這個問題?

回答

0

找到罪魁禍首 - 在第4步,我需要運行bin/hdfs dfs -mkdir /user/<username>。我認爲我可以使用任何用戶名,但是事實證明,在操作系統中輸入當前運行用戶的用戶名將會使一切正常工作。不知道爲什麼這個問題...

0
hdfs dfs -put etc/hadoop input 

此命令將嘗試把etc/hadoop文件或目錄的本地文件系統進入/user/<username>/input HDFS目錄。那個用戶名通常是你運行命令的用戶的名字。使用whoami來解決這個問題。

如果您未創建該用戶目錄和後續輸入目錄,則會看到該錯誤。

但是,你長的堆棧跟蹤明確規定你有0數據節點和運行,所以錯誤似乎不啓動HDFS

+0

沒有運行'sbin/start-dfs.sh'啓動HDFS的動作? – asafc

+0

這是正確的。您還需要啓動YARN以使mapreduce正常工作。有錯誤消息反覆說「有0個datanode(s)運行」 –