我有自己的MapReduce代码,我正在尝试运行,但它只是处于Accepted状态。我尝试运行另一个我以前运行的样本MR作业,但是哪个成功了。但现在,这两份工作都处于接受状态。我尝试更改mapred-site.xml和yarn-site.xml中的各种属性,如here和here所述,但这也无济于事。有人可以指出可能出错的地方。我正在使用hadoop-2.2.0
我为各种属性尝试了很多值,这里有一组值 - 在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>
在yarn-site.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 :(得分:14)
我已经产生了相同的效果,并发现使系统每个工作节点可用的内存更多,并减少了应用程序所需的内存。
我在yarn-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>
答案 1 :(得分:9)
有同样的问题,对我来说这是一个完整的硬盘驱动器(> 90%已满),这就是问题所在。清洁空间救了我。
答案 2 :(得分:9)
在YARN上遇到accepted
州的工作通常是因为免费资源不足。您可以在http://resourcemanager:port/cluster/scheduler
:
Memory Used + Memory Reserved >= Memory Total
,内存不足VCores Used + VCores Reserved >= VCores Total
,VCores不够它也可能受maxAMShare
等参数的限制。
答案 3 :(得分:4)
关注博客 - http://hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/
这详细描述了如何设置YARN容器的参数
答案 4 :(得分:0)
我遇到了同样的问题。我改变了上面答案中提到的每个配置,但仍然没有用。在此之后,我重新检查了我的群集的健康状况。在那里,我观察到我的唯一节点处于不健康的状态。问题是由于我的/ tmp / hadoop-hadoopUser / nm-local-dir目录中缺少磁盘空间。可以通过在端口8032处在资源管理器Web UI处检查节点运行状况来检查相同。要解决此问题,我在yarn-site.xml中添加了以下属性。
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98.5</value>
</property>
重新启动我的hadoop守护进程后,节点状态变为正常状态,作业开始运行
答案 5 :(得分:0)
使用Hadoop 3.0.1。我遇到了同样的问题,其中提交的地图缩减作业在ResourceManager Web UI中显示为处于ACCEPTED状态。此外,在同一ResourceManager Web UI中,Cluster metrics
下 - &GT; Memory used
为0,Total Memory
为0; Cluster Node Metrics
- &gt; Active Nodes
为0,尽管NamedNode Web UI完美地列出了数据节点。群集上的运行yarn node -list
没有显示任何NodeManagers.Turns out,我的NodeManager没有运行。启动NodeManagers后,新的提交的地图减少工作可以继续进行。他们不再陷入ACCEPTED状态,并且已经进入&#34; RUNNING&#34;状态
答案 6 :(得分:0)
将属性 yarn.resourcemanager.hostname 添加到 yarn-site.xml 中的主节点主机名,并将该文件复制到所有集群中反映此配置的节点已经为我解决了这个问题。