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

文章目录

      • 错误描述
      • 错误原因
      • 解决办法
      • 结果

错误描述

  今天使用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.

Azkaban运行MapReduce报错:is running beyond virtual memory limits_第1张图片
Azkaban运行MapReduce报错:is running beyond virtual memory limits_第2张图片

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

错误原因

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

解决办法

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


<property>
   <name>yarn.nodemanager.vmem-check-enabledname>
    <value>falsevalue>
    <description>Whether virtual memory limits will be enforced for containersdescription>
  property>

 <property>
   <name>yarn.nodemanager.vmem-pmem-rationame>
    <value>4value>
    <description>Ratio between virtual memory to physical memory when setting memory limits for containersdescription>
  property>

结果

Azkaban运行MapReduce报错:is running beyond virtual memory limits_第3张图片
Azkaban运行MapReduce报错:is running beyond virtual memory limits_第4张图片

你可能感兴趣的:(Azkaban)