복붙노트

[HADOOP] 감속기의 기본 개수

HADOOP

감속기의 기본 개수

하둡의 경우, 감속기의 수를 설정하지 않으면 얼마나 많은 감속기가 만들어 질 것입니까?

매퍼와 마찬가지로 (총 데이터 크기) / (입력 분할 크기)에 따라 달라집니다. 예 : 데이터 크기가 1TB이고 입력 분할 크기가 100MB 인 경우 그러면 매퍼 수는 (1000 * 1000) / 100 = 10000 (10000)이됩니다.

감속기의 수는 어떤 요인에 달려 있습니까? 일자리에 얼마나 많은 감속기가 만들어 졌습니까?

해결법

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

    1.얼마나 많은 것이 줄어든가? (공식 문서에서)

    얼마나 많은 것이 줄어든가? (공식 문서에서)

    적절한 감소 수는 0.95 또는 1.75 배로 증가한 것으로 보입니다. (노드 수) * (노드 당 최대 컨테이너 수).

    감소 수를 늘리면 프레임 워크 오버 헤드가 증가하지만로드 균형 조정이 증가하고 실패 비용이 낮아집니다.

    위의 스케일링 계수는 투기 - 작업 및 실패한 작업을 위해 프레임 워크에서 몇 개의 슬롯을 줄이기 위해 정수보다 약간 작습니다.

    이 기사에서는 매퍼 수에 대해서도 다룹니다.

    얼마나 많은지도가 있습니까?

    지도에 대한 올바른 병렬 처리 수준은 노드 당 약 10-100 개의지도 인 것으로 보이지만 매우 가벼운지도 작업을 위해 최대 300 개의지도가 설정되었습니다. 작업 설정에는 시간이 걸리기 때문에 맵을 실행하는 데 최소 1 분이 걸리는 것이 가장 좋습니다.

    따라서 입력 데이터가 10TB이고 블록 크기가 128MB 인 경우 Configuration.set (MRJobConfig.NUM_MAPS, int) (프레임 워크에 대한 힌트 만 제공)을 사용하여 설정하지 않는 한 82,000 개의 맵이 생성됩니다 심지어 더 높습니다.

    감속기의 수에 대해 기본값 1을 변경하려면 다음 속성 (hadoop 2.x 버전에서)을 명령 줄 매개 변수로 설정할 수 있습니다

    mapreduce.job.reduces

    또는

    프로그래밍 방식으로 설정할 수 있습니다.

    job.setNumReduceTasks(integer_numer);
    

    관련 SE 문제에 대해 살펴보십시오. Hadoop의 감속기 수는 무엇입니까?

  2. ==============================

    2.기본적으로 감속기의 수는 1로 설정됩니다.

    기본적으로 감속기의 수는 1로 설정됩니다.

    매개 변수를 추가하여 변경할 수 있습니다.

    명령 행이나 드라이버 코드 또는 전달한 conf 파일의 mapred.reduce.tasks.

    예 : 명령 줄 인수 : bin / hadoop jar ... -Dmapred.reduce.tasks = 또는 드라이버 코드에서 다음과 같습니다 : conf.setNumReduceTasks (int num);

    추천 읽기 : https://wiki.apache.org/hadoop/HowManyMapsAndReduces

  3. from https://stackoverflow.com/questions/34703091/default-number-of-reducers by cc-by-sa and MIT license