我有一个非常小的2节点 Hadoop-HBase
集群。我在执行死刑 MapReduce
上面有工作。我用 Hadoop-2.5.2
. 我有32gb(每个节点有64gb内存)的空闲空间 MapReduce
在每个节点的Yarn站点中配置如下
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>32768</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>15</value>
</property>
对于每个执行的Map器/缩减器,我的资源需求是2gb。我已经在 mapred-site.xml
考虑到这些配置,总共有大约64gb的内存和30个vcore,我看到大约31个Map器或31个还原器并行执行。
虽然这一切都很好,但有一部分我正试图弄清楚。并行执行的Map器或还原器的数量在两个节点上不相同,其中一个节点的任务数高于另一个节点。为什么会这样?这能控制吗?如果是,怎么做?
我想,yarn并不认为这是节点的资源,而是集群的资源,它可以在集群中的任何地方生成任务。这种理解正确吗?如果没有,对mr执行期间的上述行为的正确解释是什么?
暂无答案!
目前还没有任何答案,快来回答吧!