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

yqlxgs2m  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(395)

要设置一个简单的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文件以指向本地文件系统上的文件夹?

83qze16e

83qze16e1#

您需要先将输入文件上载到hdfs文件系统:

bin/hadoop fs -mkdir In

将创建一个名为 /user/DEVUSER/In 在hdfs中。

bin/hadoop fs -put *.txt In

将全部复制 *.txt 从当前目录到集群(hdfs)的文件。
您似乎跳过了教程中的上传数据一章。遵循它,你的问题就会得到解决。

tzxcd3kk

tzxcd3kk2#

正如harpun所说,但在某些情况下,即使您尝试在hdfs下创建该目录,它也不会这样做,并且会给您一个消息:mkdir:`in':没有这样的文件或目录作为解决方案,您需要:
bin/hadoop fs-mkdir/tmp/in
然后将文本文件复制到hdfs集群
bin/hadoop fs-输入*.txt/tmp/in

lhcgjxsq

lhcgjxsq3#

如果你不想上传文件到hdfs,而想从本地系统访问它,那么试着这样设置你的输入路径。

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

相关问题