복붙노트

[HADOOP] Amazon Elastic MapReduce 부트 스트랩 작업이 작동하지 않음

HADOOP

Amazon Elastic MapReduce 부트 스트랩 작업이 작동하지 않음

나는 부트 스트랩 작업의 다음 조합을 시도하여 내 작업의 힙 크기를 늘려 봤지만 아무 것도 작동하지 않는 것 같습니다.

--mapred-key-value mapred.child.java.opts=-Xmx1024m 
--mapred-key-value mapred.child.ulimit=unlimited

--mapred-key-value mapred.map.child.java.opts=-Xmx1024m 
--mapred-key-value mapred.map.child.ulimit=unlimited

-m mapred.map.child.java.opts=-Xmx1024m
-m mapred.map.child.ulimit=unlimited 

-m mapred.child.java.opts=-Xmx1024m 
-m mapred.child.ulimit=unlimited 

올바른 구문은 무엇입니까?

해결법

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

    1.이를 달성하기위한 두 가지 옵션이 있습니다.

    이를 달성하기위한 두 가지 옵션이 있습니다.

    사용자 정의 설정을 적용하려면 아마 Amazon Elastic MapReduce (아마존 EMR)의 Bootstrap Actions 문서, 특히 Action Configure Daemons를보십시오.

    힙 크기를 2048로 설정하고 Java namenode 옵션을 구성하는 예제도 제공됩니다.

    $ ./elastic-mapreduce –create –alive \
      --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-daemons \
      --args --namenode-heap-size=2048,--namenode-opts=-XX:GCTimeRatio=19   
    

    또는 FAQ에 따라 작업 흐름 작업이 메모리 집약적 인 경우 코어 당 더 적은 수의 작업을 사용하도록 선택하고 작업 추적기 힙 크기를 줄일 수 있습니다. 이 경우 미리 정의 된 부트 스트랩 조치를 사용하여 시작시 작업 흐름을 구성 할 수 있습니다. 이는 메모리 집약적 인 작업 부하 구성 작업을 의미하며 메모리 중심의 작업 흐름에 적합한 값으로 클러스터 전체의 Hadoop 설정을 지정할 수 있습니다 작업량 (예 :

    $ ./elastic-mapreduce --create \
    --bootstrap-action \
      s3://elasticmapreduce/bootstrap-actions/configurations/latest/memory-intensive
    

    이 사전 정의 된 부트 스트랩 조치에 의해 적용된 특정 구성 설정은 Hadoop Memory-Intensive Configuration Settings에 나열되어 있습니다.

    행운을 빕니다!

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

    2.Steffen의 대답은 훌륭하고 효과적입니다. 다른 한편으로는, 만약 당신이 단지 빠르고 더러운 것을 원하고 하나 또는 두 개의 변수를 대체하기를 원한다면, 아마도 다음과 같이 명령 행을 통해 그것을 변경하려고 할 것입니다 :

    Steffen의 대답은 훌륭하고 효과적입니다. 다른 한편으로는, 만약 당신이 단지 빠르고 더러운 것을 원하고 하나 또는 두 개의 변수를 대체하기를 원한다면, 아마도 다음과 같이 명령 행을 통해 그것을 변경하려고 할 것입니다 :

    elastic-mapreduce --create \
    --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop \
      --args "-m,mapred.child.java.opts=-Xmx999m"
    

    이전 문서는 하나의 인용구 안에있는 전체 식을 단순히 다음과 같이 인용합니다.

    --bootstrap-action "s3://elasticmapreduce/bootstrap-actions/configure-hadoop -m \
        mapred.child.java.opts=-Xmx999m"    ### I tried this style, it no longer works!
    

    AWS EMR 문서에서 어떤 경우이든 쉽게 찾을 수 없습니다. 나는 mapred.child.java.opts가 가장 오버라이드 된 변수 중 하나라고 생각합니다. GC 오류가 발생했을 때 대답을 찾고있었습니다. "java.lang.OutOfMemoryError : GC 오버 헤드 한도를 초과했습니다"그리고이 페이지를 우연히 발견했습니다. . 기본값 인 200m는 너무 작습니다 (기본값의 문서).

    행운을 빕니다!

  3. from https://stackoverflow.com/questions/10024476/amazon-elastic-mapreduce-bootstrap-actions-not-working by cc-by-sa and MIT license