MapReduce Application Master使用完整节点,该节点上没有其他任务正在运行

时间:2016-05-26 21:56:59

标签: hadoop mapreduce yarn

我已经在亚马逊ec2上使用T2.Medium实例部署了6个节点(1个Master和5个Slave)hadoop集群(每个实例都有4个Gb ram和两个虚拟核心)。在yarn-site.xml中,我添加了这两个属性:

<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>3072</value> 
</property>

这允许nodemanager在每个节点上使用最多3 GB的ram。为系统留下1 Gb ram。

<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1536</value>
</property>

这使每个容器使用最小的ram。我已经使用了这些属性,因此每个节点上最多可以并行运行两个容器。

但是当我运行程序时,运行Mapreduce Application Master的从属节点(MRAppMaster),没有其他任务(容器正在运行)。虽然应用程序大师使用的ram仅占总数的10%(即400-500 Mb)。  而在其他从节点上,每个节点都有两个容器在运行。这会降低性能。由于程序是计算密集型的,并且Application Master运行的节点的所有处理能力都未使用(因为Application Master仅使用大约0-1%的处理能力)。

理想情况下,节点上还应该有一个容器在运行 MRAppMaster正在运行。

所以有人可以帮我解决这个问题。

0 个答案:

没有答案