2013-11-25 67 views
13

我有我自己的MapReduce代碼,我試圖運行,但它只是停留在Accepted狀態。我試着運行另一份我以前運行過,樣本成功的MR作業。但現在,這兩個工作都保持Accepted狀態。我嘗試更改mapred-site.xml和yarn-site.xml中的各種屬性,如herehere所述,但這也沒有幫助。有人能指出什麼可能會出錯。我使用Hadoop-2.2.0MapReduce工作卡住在接受狀態

我已經試過了各種屬性的多個值,這裏是一組值 - 在mapred-site.xml中

<property> 
<name>mapreduce.job.tracker</name> 
<value>localhost:54311</value> 
</property> 

<property> 
<name>mapreduce.job.tracker.reserved.physicalmemory.mb</name> 
<value></value> 
</property> 

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

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


<property> 
<name>yarn.app.mapreduce.am.resource.mb</name> 
<value>400</value> 
<source>mapred-site.xml</source> 
</property> 

一個在紗線現場。 xml

<property> 
<name>yarn.nodemanager.resource.memory-mb</name> 
<value>400</value> 
<source>yarn-site.xml</source> 
</property> 
<property> 
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name> 
<value>.3</value> 
</property> 
+0

請發表您設置這些選項的準確值。 –

回答

11

我已經有同樣的效果,並發現使系統有更多的可用內存每個工作節點和減少所需的內存爲應用程序幫助。

在我的紗的site.xml我(在我很小的實驗箱)的設置:

<property> 
    <name>yarn.nodemanager.resource.memory-mb</name> 
    <value>2200</value> 
    <description>Amount of physical memory, in MB, that can be allocated for containers.</description> 
</property> 

<property> 
    <name>yarn.scheduler.minimum-allocation-mb</name> 
    <value>500</value> 
</property> 
+0

我是Hadoop的新手。你能告訴我如何去做這件事嗎?非常感謝答覆! – user1571307

+1

它的工作原理,給它更多的RAM。 – AlexandruC

+0

這個設置也不適合我。我使用apache hadoop 2.8.0發行版和yarn-site.xml的設置,除了您提供的建議外,還在apache文檔中給出。 <配置> yarn.nodemanager。AUX-服務 mapreduce_shuffle yarn.nodemanager.env白名單 JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME Shailesh

4

按照博客 - http://hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/

本詳細介紹如何設置參數YARN容器

+0

具有漂亮相同問題。我有90%的空閒內存和90%的虛擬CPU,但工作沒有運行,他們只是被接受....我重複了霍頓文章的步驟,沒有運氣。重新啓動,部署客戶端配置。什麼都沒發生。喬布斯仍然接受並沒有運行。 – Sergey

+0

偉大的文章。謝謝,它拯救了我的一天。 – Lavande

8

有同樣的問題,對我來說這是一個完整的硬盤驅動器(> 90%全)這是問題。清潔空間救了我。

+1

你救了我的一天;謝謝^ _ ^ –

8

作業卡在​​YARN上的accepted狀態通常是因爲空閒資源不夠。您可以在http://resourcemanager:port/cluster/scheduler檢查:

  1. 如果Memory Used + Memory Reserved >= Memory Total,內存不夠
  2. 如果VCores Used + VCores Reserved >= VCores Total,VCores不夠

它也可以通過參數如maxAMShare限制。

0

我面臨同樣的問題。我改變了上述答案中提到的每一個配置,但仍然沒有用。之後,我重新檢查了我的羣集的健康狀況。在那裏,我觀察到我的唯一節點處於非健康狀態。問題在於我的/ tmp/hadoop-hadoopUser/nm-local-dir目錄中缺少磁盤空間。可以通過檢查資源管理器Web UI處的端口8032處的節點健康狀態來檢查相同情況。爲了解決此問題,我在yarn-site.xml中添加了以下屬性。

<property> 
    <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name> 
    <value>98.5</value> 
</property> 

重新啓動我的Hadoop守護進程之後,節點狀態得到了改變,以健康和就業機會拔腿就跑