복붙노트

[HADOOP] 120 개 이상의 카운터가 있습니다.

HADOOP

120 개 이상의 카운터가 있습니다.

하둡 카운터 크기에는 제한이 있습니다. 기본적으로 120입니다. 나는 "mapreduce.job.counters.limit"설정을 사용하여 변경하려고 시도하지만 작동하지 않습니다. 나는 소스 코드를 보았다. 그것은 "org.apache.hadoop.mapred.Counters"클래스의 JobConf 인스턴스가 private과 같습니다. 전에 본 사람 있어요? 당신의 해결책은 무엇입니까?     고마워 :)

해결법

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

    1.JT, TT, 클라이언트 노드의 mapred-site.xml에서이 등록 정보를 대체 할 수 있지만 시스템 전체 수정 사항인지 확인하십시오.

    JT, TT, 클라이언트 노드의 mapred-site.xml에서이 등록 정보를 대체 할 수 있지만 시스템 전체 수정 사항인지 확인하십시오.

    <configuration>
      ...
      <property>
        <name>mapreduce.job.counters.limit</name>
        <value>500</value>
      </property>
      ...
    </configuration>
    

    그런 다음 클러스터에서 mapreduce 서비스를 다시 시작하십시오.

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

    2.Hadoop 2에서는이 구성 매개 변수가 호출됩니다.

    Hadoop 2에서는이 구성 매개 변수가 호출됩니다.

    mapreduce.job.counters.max
    

    명령 행이나 설정 객체에서 설정하는 것만으로는 충분하지 않습니다. 정적 메서드를 호출해야합니다.

    org.apache.hadoop.mapreduce.counters.Limits.init ()

    매퍼 또는 감속기의 setup () 메소드를 사용하여 설정을 적용하십시오.

    2.6.0 및 2.7.1로 테스트되었습니다.

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

    3.para는 설정 파일에 의해 설정되는 반면, paras는 효과가 있습니다

    para는 설정 파일에 의해 설정되는 반면, paras는 효과가 있습니다

    mapreduce.job.counters.max=1000 
    mapreduce.job.counters.groups.max=500 
    mapreduce.job.counters.group.name.max=1000 
    mapreduce.job.counters.counter.name.max=500 
    
  4. ==============================

    4.다른 사람들이 우리가 한 것과 똑같은 문제에 봉착 할 경우를 대비하여 추가하십시오 : MRJob을 사용하여 카운터를 늘리십시오.

    다른 사람들이 우리가 한 것과 똑같은 문제에 봉착 할 경우를 대비하여 추가하십시오 : MRJob을 사용하여 카운터를 늘리십시오.

    카운터의 수를 늘리려면 mrjob.conf에 emr_configurations를 추가하십시오 (또는 구성 매개 변수로 MRJob에 전달).

    runners:
      emr:
        emr_configurations:
          - Classification: mapred-site
            Properties:
              mapreduce.job.counters.max: 1024
              mapreduce.job.counters.counter.name.max: 256
              mapreduce.job.counters.groups.max: 256
              mapreduce.job.counters.group.name.max: 256
    
  5. ==============================

    5.mapred-site.xml을 변경하는 대신 특정 작업에 대한 명령 줄 옵션으로 제한을 사용자 정의 할 수 있습니다.

    mapred-site.xml을 변경하는 대신 특정 작업에 대한 명령 줄 옵션으로 제한을 사용자 정의 할 수 있습니다.

    -Dmapreduce.job.counters.limit=x
    -Dmapreduce.job.counters.groups.max=y
    

    참고 : x 및 y는 사용자 환경 / 요구 사항에 따라 사용자 지정 값입니다.

  6. from https://stackoverflow.com/questions/12140177/more-than-120-counters-in-hadoop by cc-by-sa and MIT license