복붙노트

[HADOOP] 성능을 높이기 위해 사용 된 인스턴스의 수에 따라 hadoop에서 매퍼와 리듀서를 늘리는 방법은 무엇입니까?

HADOOP

성능을 높이기 위해 사용 된 인스턴스의 수에 따라 hadoop에서 매퍼와 리듀서를 늘리는 방법은 무엇입니까?

매퍼 수를 늘리고 감속기 수를 줄이면 실행 중 작업의 성능 (증가 / 감소)에 차이가 있습니까?

또한 mappers 및 reducers 수를 설정하는 방법을 묻고 싶습니다. 이 설정에 대해 본 적이 없기 때문에이 사실을 알 수 없습니다. 나는 hadoop을 알고 있지만 나는 Hive를 많이 사용함에 따라 코드를 가지고있다.

또한 맵퍼와 감속기의 수를 늘리고 싶다면 어떻게 설정하고 어떤 값을 설정할지를 결정해야합니다. 인스턴스 수에 따라 다릅니 까?

회신 해주세요. 시험해보고 성능을 확인하고 싶습니다. 감사.

해결법

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

    1.매퍼 수 변경 - 결과에 영향을주지 않는 순수 최적화입니다. 클러스터를 완전히 활용하려면 번호를 설정해야합니다 (전용 클러스터 인 경우). 코어 수와 동일한 노드 당 매퍼 수를 시도하십시오. CPU 사용률을 살펴보고 CPU 사용량이 거의 가득 찰 때까지 번호를 늘리거나 시스템이 스왑을 시작하십시오. 메모리가 충분하지 않은 경우 코어보다 적은 매퍼가 필요합니다. 특정 수의 감속기 (예 : 1)가 필요한 경우 감속기의 수는 결과에 영향을줍니다. 설정된 수만큼의 감속기의 결과를 처리 할 수 ​​있다면 매퍼와 동일한 최적화를 수행하십시오. 이론적으로이 튜닝 프로세스 중에 IO 바인딩이 될 수 있습니다. 작업 수를 조정할 때도주의를 기울이십시오. 매퍼 / 감속기 수가 증가하더라도 CPU 사용률을 낮추면이를 인식 할 수 있습니다.

    매퍼 수 변경 - 결과에 영향을주지 않는 순수 최적화입니다. 클러스터를 완전히 활용하려면 번호를 설정해야합니다 (전용 클러스터 인 경우). 코어 수와 동일한 노드 당 매퍼 수를 시도하십시오. CPU 사용률을 살펴보고 CPU 사용량이 거의 가득 찰 때까지 번호를 늘리거나 시스템이 스왑을 시작하십시오. 메모리가 충분하지 않은 경우 코어보다 적은 매퍼가 필요합니다. 특정 수의 감속기 (예 : 1)가 필요한 경우 감속기의 수는 결과에 영향을줍니다. 설정된 수만큼의 감속기의 결과를 처리 할 수 ​​있다면 매퍼와 동일한 최적화를 수행하십시오. 이론적으로이 튜닝 프로세스 중에 IO 바인딩이 될 수 있습니다. 작업 수를 조정할 때도주의를 기울이십시오. 매퍼 / 감속기 수가 증가하더라도 CPU 사용률을 낮추면이를 인식 할 수 있습니다.

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

    2.블록 크기 및 분할 크기를 기반으로 매퍼 수를 늘릴 수 있습니다. 가장 쉬운 방법 중 하나는 아래와 같이 분할 크기를 줄이는 것입니다.

    블록 크기 및 분할 크기를 기반으로 매퍼 수를 늘릴 수 있습니다. 가장 쉬운 방법 중 하나는 아래와 같이 분할 크기를 줄이는 것입니다.

    Configuration conf= new Cofiguration();
    //set the value that increases your number of splits.
    conf.set("mapred.max.split.size", "1020");
    Job job = new Job(conf, "My job name");
    
  3. ==============================

    3.mapen.max.split.size를 수정하여 @Animesh Raj Jha의 제안을 시도했으며 눈에 띄게 성능이 향상되었습니다.

    mapen.max.split.size를 수정하여 @Animesh Raj Jha의 제안을 시도했으며 눈에 띄게 성능이 향상되었습니다.

  4. ==============================

    4.내가 hadoop 2.2를 사용하고 최대 입력 분할 크기를 설정하는 방법을 몰라요 더 많은 매퍼를 만들기 위해이 값을 줄이고 싶습니다. yarn-site.xml을 업데이트하려고 시도했지만 작동하지 않습니다.

    내가 hadoop 2.2를 사용하고 최대 입력 분할 크기를 설정하는 방법을 몰라요 더 많은 매퍼를 만들기 위해이 값을 줄이고 싶습니다. yarn-site.xml을 업데이트하려고 시도했지만 작동하지 않습니다.

    실제로, hadoop 2.2 / yarn은 다음과 같은 설정을 취하지 않습니다.

    <property>
    <name>mapreduce.input.fileinputformat.split.minsize</name>
    <value>1</value>
    </property>
    <property>
    <name>mapreduce.input.fileinputformat.split.maxsiz e</name>
    <value>16777216</value>
    </property>
    
    <property>
    <name>mapred.min.split.size</name>
    <value>1</value>
    </property>
    <property>
    <name>mapred.max.split.size</name>
    <value>16777216</value>
    </property>
    

    베스트

  5. from https://stackoverflow.com/questions/10448204/how-to-increase-the-mappers-and-reducers-in-hadoop-according-to-number-of-instan by cc-by-sa and MIT license