복붙노트

[HADOOP] 어떻게 맵리 듀스가 동시에 얼마나 많은 매퍼를 사용하여 말할?

HADOOP

어떻게 맵리 듀스가 동시에 얼마나 많은 매퍼를 사용하여 말할?

나는 맵리 듀스에 대한 인덱싱 응용 프로그램을 쓰고 있어요. 나는 NLineInputFormat으로 입력을 분할 할 수 있었고, 지금은 내 응용 프로그램에서 몇 백 매퍼 있어요. 그러나, 이들의 2 / mashine가, 나머지는 "보류"하는 동시에 활성화됩니다. 나는 그런 행동이 크게 응용 프로그램을 느리게 있다고 생각합니다.

어떻게 하둡 실행 시스템 당 동시에 사람들의 적어도 100을 어떻게해야합니까?

나는 이전 하둡 API를 구문을 사용하고 있습니다. 여기에 지금까지 시도했습니다 내용은 다음과 같습니다

    conf.setNumMapTasks(1000);
    conf.setNumTasksToExecutePerJvm(500);

그 중 어느 것도 효과가 보이지 않는다.

모든 아이디어를 어떻게 매퍼 실제로 병렬로 실행할 수 있는가?

해결법

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

    1.JobConf.setNumMapTasks ()는 단지 MR 프레임 워크에 대한 힌트와 나는 그것을 호출의 효과가 확실하지 않다. 귀하의 경우에는 전체 작업에서지도 작업의 총 수는 NLineInputFormat에 구성된 라인의 숫자로 나눈 입력에서 라인의 총 수와 동일해야합니다. 당신은 /지도의 총 수에 대한 자세한 정보를 찾을 수 있습니다 여기에 전체 작업을 통해 작업을 줄일 수 있습니다.

    JobConf.setNumMapTasks ()는 단지 MR 프레임 워크에 대한 힌트와 나는 그것을 호출의 효과가 확실하지 않다. 귀하의 경우에는 전체 작업에서지도 작업의 총 수는 NLineInputFormat에 구성된 라인의 숫자로 나눈 입력에서 라인의 총 수와 동일해야합니다. 당신은 /지도의 총 수에 대한 자세한 정보를 찾을 수 있습니다 여기에 전체 작업을 통해 작업을 줄일 수 있습니다.

    mapred.tasktracker.map.tasks.maximum에 대한 설명은 말한다

    당신은 작업 추적기에 의해 특정 노드에 평행하게 실행지도 작업의 수를 변경 (2 디폴트로)를 mapred.tasktracker.map.tasks.maximum를 구성해야합니다. 나는 0.20.2 설명서를 얻을 수 없게 매개 변수가 존재하는 경우 또는 동일한 매개 변수 이름은 0.20.2 버전에서 사용되는 있는지 확실하지 않다.

  2. from https://stackoverflow.com/questions/7471289/how-to-tell-mapreduce-how-many-mappers-to-use-at-the-same-time by cc-by-sa and MIT license