1. 程式人生 > >NodeManager節點啟動報錯記憶體不足 NodeManager from master doesn't satisfy minimum allocations

NodeManager節點啟動報錯記憶體不足 NodeManager from master doesn't satisfy minimum allocations

啟動hadoop後jps存在nodemanager程序,但馬上會報錯中斷程序
檢視日誌後發現報的是啟動nodemanager 所需記憶體不足

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不會智慧的探測節點的實體記憶體總量。

<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新增

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

表示該節點上YARN可使用的虛擬CPU個數,預設是8,注意,目前推薦將該值設值為與物理CPU核數數目相同。如果你的節點CPU核數不夠8個,則需要調減小這個值,而YARN不會智慧的探測節點的物理CPU總數。
終於能夠成功啟動!!