【问题标题】:Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException:Input path does not exist: hdfs:host/user/yogesh/WordCount线程“主”org.apache.hadoop.mapreduce.lib.input.InvalidInputException 中的异常:输入路径不存在:hdfs:host/user/yogesh/WordCount
【发布时间】:2016-02-26 13:48:05
【问题描述】:
- 我已创建输入文本文件 test.txt 并将其作为 /user/yogesh/Input/test.txt 放入 HDFS
- 在 HDFS 上创建输出路径为 /user/yogesh/Output
- 在本地 /home/yogesh/WordCount.jar 上创建 jar 文件并从本地提交 MR 作业,如下所示:
hadoop jar /home/yogesh/WordCount.jar WordCount /user/yogesh/Input/test.txt /user/yogesh/Output/output1
我有以下错误:
线程“main”中的异常
org.apache.hadoop.mapreduce.lib.input.InvalidInputException:输入路径不存在:hdfs:host/user/yogesh/WordCount。
hdfs:host/user/yogesh/ - 是我的 HDFS 目录。我无法理解为什么这个 MR 工作在 HDFS 中寻找代码以及如何解决这个错误。
【问题讨论】:
标签:
hadoop
mapreduce
hdfs
【解决方案1】:
尝试将类 WordCount 的名称包作为其前缀,或者直接跳过该类并使用 jar、输入、输出,如下所示:
hadoop jar /home/yogesh/WordCount.jar /user/yogesh/Input /user/yogesh/Output/output1
另外,请确保在执行此命令之前/user/yogesh/Output/output1 不存在。另外,请注意您应该提供输入目录而不是输入文件。 Hadoop 会将指定目录中的所有文件作为输入。
例如,查看 WordCount 示例的运行方式,在 this site 中。