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

时间:2017-02-25 16:20:59

标签: hadoop 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) 

2 个答案:

答案 0 :(得分:1)

给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

答案 1 :(得分:0)

如果您在伪分布式模式下运行,则输入路径必须在HDFS上 ,而且没有Desktop文件夹...

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

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

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

注意:您可能会因

而获得权限被拒绝错误