2016-11-20 81 views
0

我在Cloudera VM上運行eclipse中的基本Hadoop wordcout教程時出現錯誤。錯誤是:Hadoop MapReduce wordcount教程錯誤:輸入路徑不存在

Input path does not exist: file:/user/cloudera/wordcount/input 

然而,這個目錄確實存在,我專門創建它,我在它在我的HDFS文件瀏覽器盯着。

Screenshot of my command line query and browser.

我有複製粘貼,從你看到進入月食我的運行配置命令的目錄,這些都是我的論點:

/user/cloudera/wordcount/input /user/cloudera/wordcount/output 

和代碼本身尚未從示例修改我下載了,相關的線路有:

FileInputFormat.addInputPath(job, new Path(args[0])); 
FileOutputFormat.setOutputPath(job, new Path(args[1])); 

編輯:

hadoop jar /home/cloudera/examples/wordcount.jar WordCount /user/cloudera/wordcount/input /user/cloudera/wordcount/output 

此命令工作在終端上,但是當我執行我建立從(無變化,只是導出 - > jar文件)與參數「/用戶/ Cloudera的該JAR的Java文件/ wordcount /輸入/用戶/ cloudera/wordcount /輸出「然後我得到上述錯誤。

爲什麼不能正確運行這個任務?它從終端工作。

+0

你可以顯示執行hadoop命令嗎? – Bhavesh

+0

你可以參考http://ybhavesh.blogspot.in/ – Bhavesh

+0

上的一些例子'file:/ user /'不同於'hdfs:/// user /'。這可能是你的困惑所在。 –

回答

0

Why won't eclipse run this task properly?

我假設你是給/user/cloudera/wordcount/inputargs[0]到Eclipse?

這將創建new Path(args[0]),這是本地 JVM和文件系統,由URI file://指定。

當您將參數提供給hadoop jar時,它知道它應該從HDFS中讀取,HDFS在Hadoop配置的XML文件中指定,並在URI hdfs://處查找輸入。

僅供參考,ls -l /hdfs dfs -ls /相比是非常不同的輸出。前者沒有指定的路徑。

旁註:默認的HDFS路徑使用file:// Cloudera的快速入門改變這個給你。

相關問題