2013-11-25 36 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守护进程之后,节点状态得到了改变,以健康和就业机会拔腿就跑