filenotfoundexception但文件存在

ddhy6vgd  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(494)

我在hadoop中尝试读取添加到分布式缓存的文件时遇到了这个异常,奇怪的是该文件存在于给定的位置

java.io.FileNotFoundException: File does not exist: /tmp/hadoop-pera/mapred/local/taskTracker/distcache/-1517670662102870873_-1918892372_1898431787/localhost/work/output/temporalcentroids/centroids-iteration0-noOfClusters2/part-r-00000

我在开始工作前使用

DistributedCache.addCacheFile(URI.create(args[2]), job.getConfiguration());

我试图从我的Map器中的setup metod文件中读取

DistributedCache.getLocalCacheFiles(conf);

正如我所说的,我可以确认文件在本地系统上,但是抛出了异常。
我在一台计算机上以伪分布式模式运行作业。
有什么想法吗?
谢谢

cyvaqqii

cyvaqqii1#

你能告诉我你是怎么读这个文件的吗?
如果您使用的是默认文件系统,并且默认配置为hdfs,则可能是错误。如果试图从本地文件系统读取文件,则必须使用:

FileSystem.getLocal(context.getConfiguration())

相关问题