2016-08-14 25 views
0

我現在使用下面的鏈接安裝Hadoop的:中安裝和設置的Hadoop 2.7.2單機模式

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

我對安裝和設置的Hadoop平臺作爲單獨的問題模式。在獨立操作

首先製作輸入文件,爲這個網站寫命令如下:

$ mkdir input 
$ cp etc/hadoop/*.xml input 
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+' 
$ cat output/* 

這是什麼?處理運行示例?

和我發出了這些命令,我​​得到了如下錯誤顯示的圖像:

enter image description here

是什麼問題?

+1

基於錯誤,我想你使用的僞不信任XML文件的獨立部分。 –

回答

0

這是什麼處理?運行示例?

這些命令沒有處理任何事情嚴重,而不是,只是在執行可使用Hadoop jar文件預定義的例子,以確保您已安裝&正確配置設置。

正如假設你在目錄「/」而執行以下命令:

1)$ mkdir input:創建根目錄下稱爲輸入目錄/

2) $ cp etc/hadoop/*.xml輸入:將hadoop conf文件(* .xml)從/etc/hadoop複製到/輸入

3)$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'

執行hadoop庫附帶的內置示例類。本實施例中做提取參數與DFS從位於目錄下的所有的hadoop XML CONF文件開始/輸入並將結果寫入到目錄/輸出(由hadoop的隱式地創建爲執行的一部分)。

4)$ cat output/*:該命令打印終端中目錄/輸出下的所有文件內容。

什麼問題?

您在這裏面臨的問題是「輸入路徑」。這條路很模糊,並沒有被hadoop解決。確保你正在運行hadoop作爲獨立模式。最後通過給予絕對路徑(輸入和輸出)執行舉例如下:

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep /input /output 'dfs[a-z.]+'

+0

在HDFS上,當您將前導斜線添加到輸入和輸出時,會有所不同。 'mkdir input'使本地文件系統上的目錄在當前目錄中是Hadoop jar,另一方面,需要HDFS路徑 –

+0

是的,我明白**/**表示hadoop的根上下文。但在上述場景中,由於執行了所有命令並且輸入/輸出映射到本地文件系統,因此未直接使用hdfs。 –

+0

您可能想要更新您的答案,然後因爲您說*在根目錄*下創建了一個名爲input的目錄,而實際上它是當前文件夾,可能是根目錄,但不一定。如果您查看錯誤圖像,則使用HDFS路徑,並且在HDFS上找不到「/ user/root/input」路徑* –