第一个hadoop项目错误:“输入路径不存在”

时间:2013-03-03 22:44:34

标签: hadoop

要设置一个简单的hadoop项目,我正在学习本教程:http://ebiquity.umbc.edu/Tutorials/Hadoop/23%20-%20create%20the%20project.html

我的hadoop单节点似乎运行正常。

使用此代码指定In文件夹时:

FileInputFormat.setInputPaths(conf, new Path("In"));

我收到此错误:

13/03/03 22:05:27 ERROR security.UserGroupInformation: PriviledgedActionException as:DEVUSER cause:org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://localhost:9100/user/DEVUSER/In

目前,In

创建了C:\homedir\hadoop-1.0.4\In文件夹

我需要在哪里创建“In”文件夹才能显示在hdfs://localhost:9100/user/DEVUSER/In中?我是否需要更新xml文件以指向本地文件系统上的文件夹?

3 个答案:

答案 0 :(得分:24)

您需要先将输入文件上传到HDFS文件系统:

bin/hadoop fs -mkdir In

将在HDFS中创建名为/user/DEVUSER/In的目录。

bin/hadoop fs -put *.txt In

会将所有*.txt个文件从当前目录复制到群集(HDFS)。

您似乎已跳过教程中的Upload data章节。遵循它,你的问题应该解决。

答案 1 :(得分:1)

如果您不想将文件上传到hdfs而是从本地系统访问它,请尝试设置这样的输入路径。

FileInputFormat.setInputPaths(conf, new Path("file://path of the In Folder on your File system "));

答案 2 :(得分:1)

正如harpun所说,但是在某些情况下,即使你试图在HDFS下创建该目录,它也不会给你那个消息:mkdir:`In':没有这样的文件或目录 作为解决方案,您需要:

  

bin / hadoop fs -mkdir / tmp / In

然后将文本文件复制到HDFS群集

  

bin / hadoop fs -put * .txt / tmp / In