Hadoop MapReduce wordcount教程错误:输入路径不存在

时间:2016-11-20 00:28:32

标签: hadoop mapreduce

在我的Cloudera VM上运行eclipse中的基本Hadoop wordcout教程时遇到错误。错误是:

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

但是,这个目录确实存在,我专门创建了它,我在HDFS文件浏览器中盯着它。

Screenshot of my command line query and browser.

我已经将你看到的命令中的目录复制粘贴到eclipse中的运行配置中,这些是我的论点:

/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

这个命令在终端中工作但是当我执行我用这个参数创建的java文件(没有更改,只是export-> jar文件)“/ user / cloudera / wordcount / input / user / cloudera / wordcount / output“然后我得到上述错误。

为什么eclipse不会正常运行此任务?它适用于终端。

1 个答案:

答案 0 :(得分:0)

  

为什么不能正确地执行此任务?

我假设您将/user/cloudera/wordcount/input作为args[0]提供给Eclipse?

这将创建new Path(args[0]),它是本地 JVM和文件系统,由URI file://指定。

当您向hadoop jar提供参数时,它知道它应该从HDFS中读取,这是在Hadoop配置的XML文件中指定的,并在URI hdfs://处查找输入。 / p>

作为参考,ls -l /hdfs dfs -ls /相比是非常不同的输出。前者没有指定的路径。

旁注:默认HDFS路径使用file:// Cloudera Quickstart会为您更改此信息。