- 我已经创建了输入文本文件测试.txt并将其作为/user/yogesh/Input/test放入HDFS.txt
- 在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:Input path 不存在:hdfs:host/user/yogesh/WordCount。
hdfs:host/user/yogesh/- 是我的HDFS目录。我无法理解为什么这个MR工作在HDFS中寻找代码以及如何解决此错误。
尝试将类的名称包 WordCount 作为其前缀,或者跳过类并仅使用 jar、input、output,如下所示:
hadoop jar /home/yogesh/WordCount.jar /user/yogesh/Input /user/yogesh/Output/output1
此外,请确保在执行此命令之前不存在/user/yogesh/Output/output1
。另外,请注意,您应该提供一个输入目录,而不是一个输入文件。Hadoop 会将指定目录中的所有文件作为输入。
有关示例,请参阅此站点中的字数统计示例的运行方式。