我有我自己的mapreduce代码,我正试图运行,但它只是停留在接受的状态。我试着运行另一个我以前运行过的示例mr作业,结果很成功。但现在,这两项工作都保持在公认的状态。我尝试更改mapred-site.xml和yarn-site.xml中的各种属性,如这里和这里所提到的,但也没有帮助。有人能指出可能出了什么问题吗。我正在使用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>
6条答案
按热度按时间dgtucam11#
将yarn.resourcemanager.hostname属性添加到yarn-site.xml中的主节点主机名,并将此文件复制到集群中的所有节点以反映此配置,这对我来说解决了问题。
l5tcr1uw2#
陷入困境的工作
accepted
国家对Yarn通常是因为免费资源不够。你可以在http://resourcemanager:port/cluster/scheduler
:如果
Memory Used + Memory Reserved >= Memory Total
,内存不足如果
VCores Used + VCores Reserved >= VCores Total
,vcores不够它也可能受到参数的限制,例如
maxAMShare
.gab6jxml3#
我使用的是hadoop3.0.1。我遇到了同样的问题,在提交的map reduce作业中,在resourcemanagerwebui中显示为卡在接受状态
Cluster metrics
->Memory used
是0,Total Memory
为0;Cluster Node Metrics
->Active Nodes
为0,尽管namednode web ui完美地列出了数据节点。正在运行yarn node -list
在群集上没有显示任何NodeManager。结果是,我的NodeManager没有运行。在启动NodeManager之后,新提交的map reduce作业可以继续进行。它们不再停留在接受状态,而是进入“运行”状态yftpprvb4#
我也得到了同样的效果,并且发现让系统每个工作节点有更多的可用内存,并减少应用程序所需的内存是有帮助的。
我的yarn-site.xml中的设置(在我的非常小的实验箱上):
67up9zun5#
有同样的问题,对我来说,这是一个完整的硬盘驱动器(>90%满),这是问题。清洁空间救了我。
brvekthn6#
我也面临同样的问题。我改变了上面提到的所有配置,但仍然没有用。之后,我重新检查了集群的运行状况。在那里,我观察到我唯一的一个节点处于不健康状态。问题是由于我的/tmp/hadoop hadoopuser/nm local dir目录中缺少磁盘空间。可以通过在端口8032的资源管理器web ui处检查节点运行状况来检查这一点。为了解决这个问题,我在yarn-site.xml中添加了以下属性。
重新启动hadoop守护程序后,节点状态变为正常,作业开始运行