如何在Elastic MapReduce上的Hadoop 2.4.0中为每个节点设置精确的最大并发运行任务数

ver*_*rve 8 amazon-web-services elastic-map-reduce hadoop-streaming hadoop-yarn hadoop2

根据http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-consuming-gotchas/,确定每个节点并发运行任务数的公式为:

min (yarn.nodemanager.resource.memory-mb / mapreduce.[map|reduce].memory.mb, 
     yarn.nodemanager.resource.cpu-vcores / mapreduce.[map|reduce].cpu.vcores) .
Run Code Online (Sandbox Code Playgroud)

但是,将这些参数设置为(对于c3.2xlarges的集群):

yarn.nodemanager.resource.memory-mb = 14336

mapreduce.map.memory.mb = 2048

yarn.nodemanager.resource.cpu-vcores = 8

mapreduce.map.cpu.vcores = 1,

我发现当公式显示7应该是每个节点时,我只能同时运行4个任务.这是怎么回事?

我在AMI 3.1.0上运行Hadoop 2.4.0.

ver*_*rve 1

我的经验公式不正确。Cloudera 提供的公式是正确的,并且似乎给出了预期的并发运行任务数,至少在 AMI 3.3.1 上是这样。