Java Giraph';s估计的群集堆4096MB ask大于当前可用的群集堆0MB。中止工作
我正在5节点集群上使用Hadoop2.5.2运行Giraph。但是,当我尝试运行SimpleShortestPath计算示例时,出现以下错误: 线程“main”java.lang.IllegalStateException中的异常:Giraph的 估计的群集堆2000MB ask大于当前 可用的群集堆为0MB。中止工作 到目前为止,我还无法确定为什么Giraph认为集群有0MB堆。我分别在warn-env.sh和HADOOP-env.sh中设置了warn_HEAPSIZE和HADOOP_HEAPSIZE,在warn-site.xml中我有:Java Giraph';s估计的群集堆4096MB ask大于当前可用的群集堆0MB。中止工作,java,hadoop,graph,amazon-ec2,giraph,Java,Hadoop,Graph,Amazon Ec2,Giraph,我正在5节点集群上使用Hadoop2.5.2运行Giraph。但是,当我尝试运行SimpleShortestPath计算示例时,出现以下错误: 线程“main”java.lang.IllegalStateException中的异常:Giraph的 估计的群集堆2000MB ask大于当前 可用的群集堆为0MB。中止工作 到目前为止,我还无法确定为什么Giraph认为集群有0MB堆。我分别在warn-env.sh和HADOOP-env.sh中设置了warn_HEAPSIZE和HADOOP_HEAP
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8960</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
warn.nodemanager.resource.memory-mb
8960
warn.scheduler.minimum-allocation-mb
2048
知道这是怎么回事吗?这原来是一个环境问题。基本上,所发生的是这样的:Giraph向Thread ResourceManager请求一个正在运行的节点列表,并汇总列出的节点上可用的堆,然后将其与自己估计的需要多少堆进行比较。在我的例子中,我的设置中的一个小故障导致Thread无法列出任何节点,因此Giraph认为集群可以使用0MB堆 根本问题有两个方面: