Azkaban运行MapReduce报错:is running beyond virtual memory limits

本文详细解析了Azkaban运行Hadoop自带的单词计数jar时出现的内存超限错误,提供了修改yarn-site.xml文件中yarn.nodemanager.vmem-check-enabled和yarn.nodemanager.vmem-pmem-ratio属性的具体步骤,成功解决了因虚拟内存限制导致的任务失败问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


错误描述


  今天使用Azkaban运行Hadoop自带的单词计数jar报如下错误:
[pid=19143,containerID=container_1515150928558_0003_01_000002] is running beyond virtual memory limits. Current usage: 105.8 MB of 1 GB physical memory used; 2.8 GB of 2.1 GB virtual memory used. Killing container.

  经过上网查询资料,终于得到有效解决。

错误原因


  报该错误的原因是因为运行所需要的内存超出虚拟内存限制,container被迫杀死导致任务不能正常进行。

解决办法


  切换到/root/hadoop-2.7.2/etc/hadoop修改yarn-site.xml添加以下内容:

<!--当运行时所需内存超过虚拟内存限制是否强制关闭container-->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>Whether virtual memory limits will be enforced for containers</description>
</property>
<!--设置容器的内存限制时虚拟内存与物理内存之间的比率-->
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>4</value>
    <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
</property>


结果

转载于:https://my.oschina.net/u/3875806/blog/2997414

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值