异构hadoop集群内存限制

nlejzf6q  于 2021-05-31  发布在  Hadoop
关注(0)|答案(0)|浏览(246)

我有一个用于教学/测试的低性能hadoop集群,由不同的工作节点和一个主节点组成。在我的 mapred-site.xml ,我已配置 yarn.app.mapreduce.am.resource.mb , mapreduce.map.memory.mb 以及 mapreduce.reduce.memory.mb 分别为每个节点。
我认为这样做的语义是:如果应用程序主机在node0x上运行,那么应用程序主机可以使用中配置的内存 mapred-site.xml 在特定的node0x上。
但这并没有发生:我的主节点是我最强壮的节点,因此,它的值最高 yarn.app.mapreduce.am.resource.mb (它没有配置为工作节点,因此无法在其上分配appmaster)。在主节点上启动terasort时,会失败

java.io.IOException: org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested resource type=[memory-mb] < 0 or greater than maximum allowed allocation.

之后声明的值,yarn尝试分配一个appmaster,其内存与中声明的一样多 yarn.app.mapreduce.am.resource.mb 在主节点上-因为没有工作节点有这么多内存,所以yarn无法分配。这意味着语义不是这台机器的限制,但它描述了从这台机器运行作业的默认设置。
现在我想知道:每个节点的配置 mapred-site.xml 以及 yarn-site.xml 你也这么认为?如果所有内容都来自执行作业的节点上的配置,那么每个节点的单个配置有意义吗?我错过了什么?我以为yarn只是尽可能地分配最大的appmaster,因为没有明确给出值。
我希望我把我的观点说清楚。另一个示例:当从主节点提交Map/减少内存限制为1g的mapreduce作业时,也将无法分配较小工作节点上的map和reduce任务。基本上,我不清楚为什么我们有一个 mapred-site.xml 每个节点,如果从执行节点获取配置。
非常感谢你的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题