我在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);
正如我所说的,我可以确认文件在本地系统上,但是抛出了异常。
我在一台计算机上以伪分布式模式运行作业。
有什么想法吗?
谢谢
1条答案
按热度按时间cyvaqqii1#
你能告诉我你是怎么读这个文件的吗?
如果您使用的是默认文件系统,并且默认配置为hdfs,则可能是错误。如果试图从本地文件系统读取文件,则必须使用: