Hadoop 如何增加纱线节点管理器中的容器数量

Hadoop 如何增加纱线节点管理器中的容器数量,hadoop,yarn,Hadoop,Yarn,我的纱线群中的一个节点有64GB内存和24个核心。我在warn-site.xml中设置了以下属性: <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>32768</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores

我的纱线群中的一个节点有64GB内存和24个核心。我在warn-site.xml中设置了以下属性:

<property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>32768</value>
</property>
<property>
  <name>yarn.nodemanager.resource.cpu-vcores</name>
  <value>16</value>
</property>

warn.nodemanager.resource.memory-mb
32768
纱线.nodemanager.resource.cpu-vcores
16

但是我发现节点中的nodemanager仍然只有7个容器。我还需要设置哪些其他属性

您需要告诉Thread如何将内存分解为容器,因此,例如,如果将每个容器的内存设置为2GB,则将提供16个容器

<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
warn.scheduler.minimum-allocation-mb
2048
尝试以下方法:

  <property>
    <name>mapreduce.map.memory.mb</name>
    <value>1024</value>      
  </property>

  <property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2048</value>      
  </property>

mapreduce.map.memory.mb
1024
mapreduce.reduce.memory.mb
2048

谢谢。你的回答让我意识到我的内存mb参数中有一个输入错误(我在内存和mb之间使用了下划线而不是破折号)。我的集群中有7个节点[8GB RAM和4VCPU到每个节点]。我的应用程序有mapreduce.jobsubmitter:输入拆分数:34。我的应用程序在容器启动异常时崩溃:ExitCodeException exitCode=134:/bin/bash:line 1:3876中止(内核转储)。如何避免这种情况?我在ampred site.xml中的配置应该是什么?@Arnon Rotem Gal Oz:这里是一个Hadoop/Thread新手。OP有64GB的内存。如果我们为每个容器分配2048mb(即2GB),他应该得到64/2=32个容器。你能解释为什么吗?谢谢。你在使用map/reduce吗?如果是的话,你还应该设置map/reduce分配的属性(正如@avner在下面写到的)@arnnrotem Gal Oz-所以,将2GB作为容器大小意味着我的Java Xmx不能超过2GB,因为如果我这样做,那么当Java试图在运行时将堆大小增加到2GB以上时,纱线会杀死它?