복붙노트

[HADOOP] Giraph의 추정 클러스터 힙 xxxxMBs 물어 0메가바이트의 현재 가용성 클러스터 힙보다 더 크다. 작업 중단

HADOOP

Giraph의 추정 클러스터 힙 xxxxMBs 물어 0메가바이트의 현재 가용성 클러스터 힙보다 더 크다. 작업 중단

나는 아마존 EC2 클러스터에 giraph-1.3.0-SNAPSHOT (-Phadoop_yarn 프로파일 구축) 및 하둡-2.8.4을 사용하고 있습니다. 내 클러스터 (I 20 개 c3.8xlarge 기계, 각각은 60기가바이트의 RAM, 32 CPU를 사용해야합니다 앞으로) 4 t2.large 기계 각각은 8기가바이트의 RAM 및 CPU 2 개로 구성되어있다. 나는이 문제에 차단하고있어 "Giraph의 추정 클러스터 힙 xxxxMBs는 0메가바이트의 현재 가용성 클러스터 힙보다 큰 요청 작업을 중단합니다.". 나는 Giraph의 추정 클러스터 힙 4천96메가바이트이 ​​0메가바이트의 현재 가용성 클러스터 힙보다 큰 요청이 이전 게시물 빨간색. 작업을 중단하지만 난 yarn.resourcemanager.hostname를 구성 (아래 참조) 내 보안 그룹은 모든 트래픽에 개방되어 있기 때문에 내 경우에는 문제의 원인을 이해하지 못했다. 어쩌면 내가 일부 설정 (또는 포트)를 그리워?

또한, 나는 다음과 같은 질문이 : - Giraph는하지만지도를 줄이고 사용하지 않기 때문에, 그것은 mapreduce.map.memory.mb에 할당 된 메모리보다 mapreduce.reduce.memory.mb 적은 메모리를 할당하는 것이 맞습니까? 아마 giraph이 감소 사용하지 않기 때문에 mapreduce.reduce.memory.mb 심지어 0 매크로 블럭을 할당 할 권리가 될 수 있을까? - 기본 하둡 허용으로 나는 http://giraph.apache.org/quick_start.html 그 mapred.tasktracker.map.tasks.maximum을 읽고 mapred.map.tasks는 이후 4로 설정해야합니다 "2 맵퍼는 한 번에 실행합니다. Giraph의 코드는, 그러나, 우리는 동시에 4 매퍼를 실행할 수 있다고 가정합니다. " 따라서 4 값은 항상 이러한 속성으로 설정해야합니다?

이것은 내 구성입니다. I은 mapred-site.xml의보고 된 원사-site.xml 파일을 때문에 나는 그들이 올바른지 확신 해요 다른 사람의 하둡 설정 파일에.

mapred-site.xml 파일

<configuration>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>{HOSTNAME}:54311</value>
    </property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapred.tasktracker.map.tasks.maximum</name>
        <value>4</value>
    </property>
    <property>
        <name>mapred.map.tasks</name>
        <value>4</value>
    </property>
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>4608</value>
    </property>
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>512</value>
    </property>
</configuration>

원사를 site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property> 
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>{HOSTNAME}</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>2</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>6144</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>6144</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

나는 mapred-site.xml 파일이 다른 구성을 시도하고 지금은 작동 (내가 _SUCCESS 파일 및 예상 출력을 얻을)하지만 난 그게 최적의 구성이 아니라고 생각!

<property>
    <name>mapreduce.map.memory.mb</name>
    <value>1024</value>
</property>
<property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>1024</value>
</property>

해결법

    from https://stackoverflow.com/questions/52605927/giraphs-estimated-cluster-heap-xxxxmbs-ask-is-greater-than-the-current-availabl by cc-by-sa and MIT license