[HADOOP] Hadoop 파일의 분산 캐싱에서 예외를 찾을 수 없음
HADOOPHadoop 파일의 분산 캐싱에서 예외를 찾을 수 없음
캐시 된 파일을 생성했음을 나타냅니다. 그러나 가서 파일이없는 위치를 보았을 때 매퍼에서 읽으려고하면 File Not Found Exception이 표시됩니다.
이것은 내가 실행하려고하는 코드입니다.
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
org.apache.hadoop.util.LinuxResourceCalculatorPlugin@8c2df1
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 시간 동안 계속해서 솔루션을 찾고 있었고 내일에는 과제 제출이 있습니다. 대단히 감사합니다.
해결법
-
==============================
1.더 간단한 -files 옵션을 사용하려고 할 수 있습니다.이를 사용하려면 드라이버 클래스에서 구성을 확장하고 도구를 구현해야합니다.
더 간단한 -files 옵션을 사용하려고 할 수 있습니다.이를 사용하려면 드라이버 클래스에서 구성을 확장하고 도구를 구현해야합니다.
예 :
매퍼 또는 감속기에서 :
BufferedReader reader1 = new BufferedReader(new FileReader("file1.xml")); BufferedReader reader2 = new BufferedReader(new FileReader("file2.txt"));
-
==============================
2.다양한 컴퓨터에있는 모든 파일을 단일 파일로 병합하고 성공적으로 사용할 수있는 copyMerge () 속성을 사용 하여이 문제를 해결했습니다. 정상 파일을 사용하는 경우 실패합니다. 답장 해 주셔서 감사합니다.
다양한 컴퓨터에있는 모든 파일을 단일 파일로 병합하고 성공적으로 사용할 수있는 copyMerge () 속성을 사용 하여이 문제를 해결했습니다. 정상 파일을 사용하는 경우 실패합니다. 답장 해 주셔서 감사합니다.
from https://stackoverflow.com/questions/16251788/distributed-caching-in-hadoop-file-not-found-exception by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HRegionServer는“마스터에게 가동 중임을 알리는 오류”를 표시합니다. 소켓 예외 표시 : 잘못된 인수 (0) | 2019.09.16 |
---|---|
[HADOOP] 스파크 작업 오류 GC 오버 헤드 한도를 초과 함 [중복] (0) | 2019.09.16 |
[HADOOP] 프라이빗 클라우드에서 Cloudera Manager를 사용하는 HDFS (0) | 2019.09.16 |
[HADOOP] pyhs2를 통해 Python을 통해 Hadoop Hive에 연결하는 방법은 무엇입니까? (0) | 2019.09.16 |
[HADOOP] 하나의 insert 문을 사용하여 여러 파티션에 데이터 삽입 (0) | 2019.09.16 |