我必须使用20台c3.8xlarge机器,每台机器有60 GB RAM和32 CPU) . 我阻止了这个问题:"Giraph's estimated cluster heap xxxxMBs ask is greater than the current available cluster heap of 0MB. Aborting Job" . 我在上一篇文章Giraph's estimated cluster heap 4096MB ask is greater than the current available cluster heap of 0MB. Aborting Job上红了,但是由于我配置了yarn.resourcemanager.hostname(见下文)并且我的安全组对所有流量开放,因此我不明白是什么原因引起了我的问题 . 也许我想念一些设置(或一些端口)?

此外,我有以下问题:

  • 因为Giraph没有使用reduce吗?
  • 我读_389792_表示mapred.tasktracker.map.tasks.maximum和mapred.map.tasks必须设置为4,因为"by default hadoop allows 2 mappers to run at once. Giraph's code, however, assumes that we can run 4 mappers at the same time."因此必须始终将4个值设置为这些属性?

这是我的配置 . 我只报告了mapred-site.xml和yarn-site.xml,因为在其他的hadoop配置文件中我很确定它们是正确的 .

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>