복붙노트

[HADOOP] 하둡은 : 감속기의 수는 4 일정하게 유지

HADOOP

하둡은 : 감속기의 수는 4 일정하게 유지

나는 (단지 실험) mapred.reduce.tasks = 100 하둡 작업을 실행하고 있습니다. 즉, 입력 분할에 따라 달라집니다로 산란지도의 수는 537입니다. 문제는지도가 100 % 완료된 후에도 4. 넘어 가지 않을 것이다 병렬로 "실행"감속기의 수입니다. CPU 사용량이 하위 최적이며 줄이기가 매우 느립니다로 실행 감속기의 수를 증가하는 방법이 있나요.

또한 mapred.tasktracker.reduce.tasks.maximum = (100)를 설정하지만이 병렬로 실행 감속기의 수에 영향을 미칠 것 같지 않습니다.

해결법

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

    1.파티션 프로그램에서 사용하는 해시 코드를 확인; 열쇠는 4 개 해시 코드 값을 반환하는 경우, 하둡은 4 감속기 만 일정을 것입니다.

    파티션 프로그램에서 사용하는 해시 코드를 확인; 열쇠는 4 개 해시 코드 값을 반환하는 경우, 하둡은 4 감속기 만 일정을 것입니다.

    당신의 맵퍼는 4 키를 생성하는 경우가 있지만, 더 감속기를 얻기 위해 자신의 파티션 프로그램을 구현해야 할 수도 있습니다, 4 감속기의 최대 수입니다.

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

    2.당신은 아래와 같은 작업 구성을 사용하는 감속기의 수를 지정할 수 있습니다 :

    당신은 아래와 같은 작업 구성을 사용하는 감속기의 수를 지정할 수 있습니다 :

    job.setNumReduceTasks (6);

    당신이 당신의 병을 실행하는 경우 또한, 당신은 다음과 같은 속성을 전달할 수 있습니다 :

    -D mapred.reduce.tasks = 6

  3. ==============================

    3.이 요구되었다 그 모두가 mapred를 다시 시작했다하고 mapred-site.xml 파일을 변경 한 후 데몬을 DFS 밝혀졌습니다. mapred.tasktracker.reduce.tasks.maximum은 실제로 감소 용량을 증가하도록 설정 할 수있는 권리 매개 변수입니다.

    이 요구되었다 그 모두가 mapred를 다시 시작했다하고 mapred-site.xml 파일을 변경 한 후 데몬을 DFS 밝혀졌습니다. mapred.tasktracker.reduce.tasks.maximum은 실제로 감소 용량을 증가하도록 설정 할 수있는 권리 매개 변수입니다.

    하둡은 작업이 제출 될 때 mapred 현장마다 다시로드하지 않기로 이유를 이해 할 수 없습니다.

  4. from https://stackoverflow.com/questions/13249522/hadoop-number-of-reducers-remains-a-constant-4 by cc-by-sa and MIT license