运行 WordCount MapReduce 时输入路径不存在

Input path does not exists while running WordCount MapReduce

我已经在 ubuntu 上安装了一个单节点集群。 我正在尝试执行 wordcount 程序。 我已经创建了 jar 文件。 但是当我要执行这个命令时:

hadoop jar '/home/hduser/Desktop/TutorialFolder/firstTutorial.jar' WordCount /home/hduser/Desktop/TutorialFolder/input_data /TutorialFolder/Output

给出以下错误:

Exception in thread "main" 
org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: 
hdfs://localhost:9000/home/hduser/Desktop/TutorialFolder/inp‌​ut_data 
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.single‌​ThreadedListStatus(F‌​ileInputFormat.java:‌​323) 

如果您 运行 在伪分布式模式下,输入路径必须存在 在 HDFS 上,它没有桌面文件夹...

运行 一些 hdfs dfs -ls /home/hduser 检查可用的内容,并将一些文件放在那里

如果该文件夹不存在,您也许应该返回教程并设置 HDFS。

运行 hdfs dfs -mkdir -p /home/hduser

注意:您可能会收到权限被拒绝的错误

提供给 mapreduce 的输入和输出路径必须是有效的 HDFS 路径,除非你是 运行 本地模式下的 Hadoop。

此处传递的输入路径/home/hduser/Desktop/TutorialFolder/input_data看起来像本地目录。在 HDFS 中创建一个类似的结构并将输入数据上传到 HDFS 中的该目录。

hdfs dfs -mkdir -p /wordcount/input_data
hdfs dfs -put /home/hduser/Desktop/TutorialFolder/input_data/ /wordcount/input_data/

此外,输出路径必须在 HDFS 中。 运行 带有 HDFS 路径的 jar,

hadoop jar /home/hduser/Desktop/TutorialFolder/firstTutorial.jar WordCount /wordcount/input_data /wordcount/output