码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop 伪分布式执行 mapreduce 任务时报 running beyond physical memory或者beyond vitual memory limits

时间:2020-09-17 13:31:24      阅读:39      评论:0      收藏:0      [点我收藏+]

标签:http   manager   虚拟内存   mapreduce   kill   执行   就会   href   man   

当运行中出现Container is running beyond physical memory这个问题出现主要是因为物理内存不足导致的,在执行mapreduce的时候,每个map和reduce都有自己分配到内存的最大值,当map函数需要的内存大于这个值就会报这个错误,解决方法:

在mapreduc-site.xml配置里面设置mapreduce的内存分配大小

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

当运行中提示running beyond virtual memory limits. Current usage: 32.1mb of 1.0gb physical memory used; 6.2gb of 2.1gb virtual memory used. Killing container。
该错误是YARN的虚拟内存计算方式导致,上例中用户程序申请的内存为1Gb,YARN根据此值乘以一个比例(默认为2.1)得出申请的虚拟内存的 值,当YARN计算的用户程序所需虚拟内存值大于计算出来的值时,就会报出以上错误。调节比例值可以解决该问题。具体参数为:yarn-site.xml 中的yarn.nodemanayger.vmem-check-enabled

<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
<property>
   <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>5</value>
</property>

转载自:https://www.cnblogs.com/lisi2016/p/6863923.html

hadoop 伪分布式执行 mapreduce 任务时报 running beyond physical memory或者beyond vitual memory limits

标签:http   manager   虚拟内存   mapreduce   kill   执行   就会   href   man   

原文地址:https://www.cnblogs.com/wuzhiblog/p/13615920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!