복붙노트

[HADOOP] Hadoop - 분산 캐시에있는 큰 파일

HADOOP

Hadoop - 분산 캐시에있는 큰 파일

분산 캐시를 통해 모든 맵퍼에서 공유하려고하는 4GB 파일이 있습니다. 하지만지도 작업 시도가 시작될 때 상당한 지연이 있음을 알고 있습니다. 특히, 작업 제출 시간 (job.waitForCompletion ()을 통해)과 첫 번째 맵이 시작될 때 사이에 상당한 지연이 있습니다.

DistributedCache에서 대용량 파일의 부작용이 무엇인지 알고 싶습니다. 분산 캐시의 파일이 복제 된 횟수는 몇 번입니까? 클러스터의 노드 수가이 문제에 영향을 줍니까?

(제 클러스터는 매우 강력한 머신에서 약 13 개의 노드를 실행하며 각 머신은 10 개의 맵 슬롯을 호스트 할 수 있습니다.)

감사

해결법

  1. ==============================

    1.이 경우 "캐시"는 약간 오도 된 것입니다. 4GB 파일은 항아리 및 구성과 함께 모든 작업에 배포됩니다.

    이 경우 "캐시"는 약간 오도 된 것입니다. 4GB 파일은 항아리 및 구성과 함께 모든 작업에 배포됩니다.

    200mb보다 큰 파일의 경우 보통 파일 시스템에 직접 넣고 복제를 보통의 복제보다 높은 값으로 설정합니다 (이 경우 5-7로 설정). 다음과 같은 일반적인 FS 명령을 통해 모든 작업의 ​​분산 파일 시스템에서 직접 읽을 수 있습니다.

    FileSystem fs = FileSystem.get(config);
    fs.open(new Path("/path/to/the/larger/file"));
    

    이렇게하면 클러스터의 공간을 절약 할 수 있지만 작업 시작을 지연시키지 않아야합니다. 그러나 비 로컬 HDFS 읽기의 경우 상당한 양의 대역폭을 사용할 수있는 작업으로 데이터를 스트리밍해야합니다.

  2. from https://stackoverflow.com/questions/17291344/hadoop-large-files-in-distributed-cache by cc-by-sa and MIT license