首页 文章

Giraph的估计集群堆4096MB问题大于当前可用的0MB集群堆 . 中止工作

提问于
浏览
0

我在5节点集群上使用Hadoop 2.5.2运行Giraph . 但是当我尝试运行SimpleShortestPathsComputation示例时,我收到此错误:

线程“main”中的异常java.lang.IllegalStateException:Giraph的估计集群堆2000MB ask大于当前可用的0MB集群堆 . 中止工作 .

到目前为止,我一直无法确定为什么Giraph认为集群有0MB堆 . 我分别在yarn-env.sh和hadoop-env.sh中设置了YARN_HEAPSIZE和HADOOP_HEAPSIZE,在yarn-site.xml中我有:

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8960</value>
  </property>
  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
  </property>

知道这是怎么回事吗?

1 回答

  • 0

    这结果是一个环境问题 . 基本上,会发生这样的事情:Giraph向YARN ResourceManager询问运行节点的列表,并总结列出的节点中可用的堆,然后将其与它自己对所需堆的估计值进行比较 . 在我的情况下,我的设置中的一个小故障导致YARN无法列出任何节点,因此Giraph认为群集可以使用0MB的堆 .

    潜在的问题是双重的:

    • 我在EC2上运行并忘记将端口8032添加到安全组,因此节点可以连接到资源管理器 .

    • 我忘了设置yarn resourcemanager hostname属性,因此节点最初尝试连接到0.0.0.0 .

    一旦解决了这两个问题,这个问题就消失了 .

相关问题