NodeManager节点启动报错内存不足

启动hadoop后jps存在nodemanager进程,但马上会报错中断进程
查看日志后发现报的是启动nodemanager 所需内存不足

1
2017-09-27 18:25:11,244 INFO org.apache.hadoop.service.AbstractService: Service NodeManager failed in state STARTED; cause: org.apache.hadoop.yarn.exceptions.YarnRuntimeException: org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed, Message from ResourceManager: NodeManager from  master doesn't satisfy minimum allocations, Sending SHUTDOWN signal to the NodeManager.

按照查来的方法修改 yarn-site.xml 中的yarn.scheduler.minimum-allocation-mb 内存大于1024,表示该节点上YARN可使用的物理内存总量,默认是8192(MB),注意,如果你的节点内存资源不够8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量。

1
2
3
4
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>

不起作用,还有的说法是修改修改 yarn-env.sh 中 JAVA_HEAP_MAX=-Xmx3072m 改为3G
但是也是不起作用的
我架设的虚拟机是1g内存1CPU1核的
在yarn-site.xml添加

1
2
3
4
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>

表示该节点上YARN可使用的虚拟CPU个数,默认是8,注意,目前推荐将该值设值为与物理CPU核数数目相同。如果你的节点CPU核数不够8个,则需要调减小这个值,而YARN不会智能的探测节点的物理CPU总数。
终于能够成功启动!!