它显示它创建了缓存文件。但是,当我去看看文件不存在的位置,并且当我试图从我的映射器读取时,它显示文件未找到异常。未找到Hadoop文件中的分布式缓存异常
这是我试图运行代码:
JobConf conf2 = new JobConf(getConf(), CorpusCalculator.class);
conf2.setJobName("CorpusCalculator2");
//Distributed Caching of the file emitted by the reducer2 is done here
conf2.addResource(new Path("/opt/hadoop1/conf/core-site.xml"));
conf2.addResource(new Path("/opt/hadoop1/conf/hdfs-site.xml"));
//cacheFile(conf2, new Path(outputPathofReducer2));
conf2.setNumReduceTasks(1);
//conf2.setOutputKeyComparatorClass()
conf2.setMapOutputKeyClass(FloatWritable.class);
conf2.setMapOutputValueClass(Text.class);
conf2.setOutputKeyClass(Text.class);
conf2.setOutputValueClass(Text.class);
conf2.setMapperClass(MapClass2.class);
conf2.setReducerClass(Reduce2.class);
FileInputFormat.setInputPaths(conf2, new Path(inputPathForMapper1));
FileOutputFormat.setOutputPath(conf2, new Path(outputPathofReducer3));
DistributedCache.addCacheFile(new Path("/sunilFiles/M51.txt").toUri(),conf2);
JobClient.runJob(conf
日志:
13/04/27 04:43:40 INFO filecache.TrackerDistributedCacheManager: Creating M51.txt in /tmp1/mapred/local/archive/-1731849462204707023_-2090562221_1263420527/localhost/sunilFiles-work-2204204368663038938 with rwxr-xr-x
13/04/27 04:43:40 INFO filecache.TrackerDistributedCacheManager: Cached /sunilFiles/M51.txt as /tmp1/mapred/local/archive/-1731849462204707023_-2090562221_1263420527/localhost/sunilFiles/M51.txt
13/04/27 04:43:40 INFO filecache.TrackerDistributedCacheManager: Cached /sunilFiles/M51.txt as /tmp1/mapred/local/archive/-1731849462204707023_-2090562221_1263420527/localhost/sunilFiles/M51.txt
13/04/27 04:43:40 INFO mapred.JobClient: Running job: job_local_0003
13/04/27 04:43:40 INFO mapred.Task: Using ResourceCalculatorPlugin : o
[email protected]
13/04/27 04:43:40 INFO mapred.MapTask: numReduceTasks: 1
13/04/27 04:43:40 INFO mapred.MapTask: io.sort.mb = 100
13/04/27 04:43:40 INFO mapred.MapTask: data buffer = 79691776/99614720
13/04/27 04:43:40 INFO mapred.MapTask: record buffer = 262144/327680
内configure()
:
Exception reading DistribtuedCache: java.io.FileNotFoundException: /tmp1/mapred/local/archive/-1731849462204707023_-2090562221_1263420527/localhost/sunilFiles/M51.txt (Is a directory)
Inside setup(): /tmp1/mapred/local/archive/-1731849462204707023_-2090562221_1263420527/localhost/sunilFiles/M51.txt
13/04/27 04:43:41 WARN mapred.LocalJobRunner: job_local_0003
请帮我,我一直在寻找为此持续6个小时的解决方案,明天我会提交作业。非常感谢你。
您使用的是哪个版本的hadoop? – Rags 2013-04-27 17:20:37
也分享你的完整代码 – Rags 2013-04-27 17:23:41