복붙노트

[HADOOP] 하둡 : 클러스터 크기에 따라 사용할 수지도 슬롯의 수

HADOOP

하둡 : 클러스터 크기에 따라 사용할 수지도 슬롯의 수

하둡에 의해 생성 된 시스템 로그를 읽고, 나는 이것과 같은 라인을 볼 수 있습니다 ..

2013-05-06 16:32:45,118 INFO org.apache.hadoop.mapred.JobClient (main): Setting default number of map tasks based on cluster size to : 84

사람이이 값을 계산하는 방법을 알고 있나요? 그리고 내가 어떻게 내 프로그램에서이 값을받을 수 있나요?

해결법

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

    1.나는 하둡의 소스 코드를 grepped하고 (나는 MR 작업을 실행할 때 인쇄되고 다른 문자열을 찾을 반면)에 모두에 클러스터 크기에 따라지도 작업의 캐릭터 설정의 기본 수를 찾지 못했습니다. 또한이 문자열 내 로컬 설치 어디서나 인쇄되지 않습니다. 그것에 대한 Google 검색은 EMR과 AWS의 문제를 나열. 당신은 아마존 엘라스틱 맵리 듀스를 사용하여 실제로 사용 END_LINK하면 관심을 확인한다. 나는 EMR이 특정 라인을 출력 하둡의 JobClient 클래스, 일부 자신의 수정을 가지고 있다고 생각합니다.

    나는 하둡의 소스 코드를 grepped하고 (나는 MR 작업을 실행할 때 인쇄되고 다른 문자열을 찾을 반면)에 모두에 클러스터 크기에 따라지도 작업의 캐릭터 설정의 기본 수를 찾지 못했습니다. 또한이 문자열 내 로컬 설치 어디서나 인쇄되지 않습니다. 그것에 대한 Google 검색은 EMR과 AWS의 문제를 나열. 당신은 아마존 엘라스틱 맵리 듀스를 사용하여 실제로 사용 END_LINK하면 관심을 확인한다. 나는 EMR이 특정 라인을 출력 하둡의 JobClient 클래스, 일부 자신의 수정을 가지고 있다고 생각합니다.

    한국인이 수를 계산하는 단계에 관한 한 I 그것이 전체 클러스터 (N)의 (활성)의 노드 번호 및 노드 (M)마다지도 슬롯의 개수, 즉 N의 *의 M과 같은 특성에 기초하여 계산 될 의심 것이다. 그러나 추가 AWS-특정 리소스 (메모리) 제약 조건도 고려 될 수 있습니다. 당신은 정확한 공식을위한 EMR 관련 포럼에 질문해야 할 것이다.

    또한, JobClient는 클러스터에 대한 정보의 집합을 제공합니다. 당신이 좋아하는 정보에 액세스 할 수있는 방법이 JobClient # getClusterStatus ()를 사용 :

    ClusterStatus 클래스 객체를 통해, 그래서 당신은 시도 할 수 수동으로 프로그램에서 원하는 수를 계산한다.

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

    2.그래서 이것은 당신의 입력의 크기에 따라 기본적으로 설정되어 있습니다. http://wiki.apache.org/hadoop/HowManyMapsAndReduces. 당신은 하둡에 의해 정의 된 수 이상 더 매퍼하지만를 지정할 수 있습니다.

    그래서 이것은 당신의 입력의 크기에 따라 기본적으로 설정되어 있습니다. http://wiki.apache.org/hadoop/HowManyMapsAndReduces. 당신은 하둡에 의해 정의 된 수 이상 더 매퍼하지만를 지정할 수 있습니다.

    당신은 구성 옵션 "mapred.map.tasks"를 얻어서이 번호에 액세스 할 수 있어야합니다. 당신이 이전 API를 사용하는 경우에도이 기능에서 얻을 수 있습니다.

    conf.getNumMapTasks();
    

    이 이전 질문은 하둡 0.20에지도 작업의 수를 설정하는 방법?뿐만 아니라 좋은 답이있다

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

    3.주로 어떤을 찾을 수있는 InputFormat의 의무이다. 맵퍼 그것은 당신의 InputFormat 클래스의 getSplits (JobContext 컨텍스트) 메소드 내부에 기록 된 논리에 의해 생성 된 InputSplits에 따라 이루어집니다. 노를 지정. 작업이나 설정 파일 또는 쉘을 통해 지정을 통해 매퍼의 다만 힌트는 프레임 워크이며, 당신은 항상 단지를 지정하지거야 보장하지 않습니다. 맵퍼.

    주로 어떤을 찾을 수있는 InputFormat의 의무이다. 맵퍼 그것은 당신의 InputFormat 클래스의 getSplits (JobContext 컨텍스트) 메소드 내부에 기록 된 논리에 의해 생성 된 InputSplits에 따라 이루어집니다. 노를 지정. 작업이나 설정 파일 또는 쉘을 통해 지정을 통해 매퍼의 다만 힌트는 프레임 워크이며, 당신은 항상 단지를 지정하지거야 보장하지 않습니다. 맵퍼.

  4. from https://stackoverflow.com/questions/16403576/hadoop-number-of-available-map-slots-based-on-cluster-size by cc-by-sa and MIT license