关于yarn平台下mapreduce运行出现的虚拟内存溢出问题

最近在测试一个统计类型的mapreduce 应用的job新功能时候,reducetask在运行中直接抛出了下面的异常:

Container [pid=23708,containerID=container_1369623433359_0404_01_000151] is running beyond physical memory limits. Current usage: 192Mb of 1.0gb physical memory used; 2.9gb of 2.1gb virtual memory used. Killing container.

设置了10个reducetask,而每个reducetask的4次尝试 taskattempt 都失败了 都以为同样的虚拟内存的溢出问题。由于该Yarn所在的集群规模比较小,相应的机器的配置也不高,平均每台服务器的内存只有20G左右,因此之前我在配置task的container的大小的时候,每个container的物理内存配置为1024M

,而yarn-site.xml 中的yarn.nodemanager.vmem-pmem-ratio的比例采用默认的2.1,根据这个比例 计算出来的预分配的虚拟内存为2.1G,而在实际运行中,发现单个reducetask需要2.9G的虚拟内存,因此导致了异常的出现。虽然通过调整了yarn-site.xml中的参数,通过增大虚拟内存的方式 解决了job中的内存错误,但心里还是有那个疙瘩。当初自己在开发这个 统计任务的时候,数据量比当前大的多的情况下都没出现过该问题,简单的通过内存参数调整并不能真正解决问题,问题的隐患也不一定被完全发现,问题应该还是出在job对于资源的申请上。接下来估计会仔细研究下该job是否存在着什么问题,毕竟一旦发布到线上,将会迎来大数据量的考验。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值