首页 > 系统相关 >hadoop任务超出虚拟内存限制问题(beyond the 'VIRTUAL' memory limit)

hadoop任务超出虚拟内存限制问题(beyond the 'VIRTUAL' memory limit)

时间:2022-11-24 20:46:21浏览次数:46  
标签:更改 mapreduce hadoop 内存 memory 虚拟内存

今天用hive跑任务,一个小问题困扰了许久,问题如下:
Container [pid=5284,containerID=container_1669278775243_0001_01_000005] is running 346733056B beyond the 'VIRTUAL' memory limit. Current usage: 284.4 MB of 1 GB physical memory used; 2.4 GB of 2.1 GB virtual memory used. Killing container.
大概意思是超出了虚拟内存限制,
我的机器是4g内存、8g虚拟内存,按理说不应该出现这个问题,由于宿主机有32g内存,
1、我先尝试把虚拟机的内存翻倍至8g,结果还是有这个错误;
2、于是针对linux的虚拟内存进行更改,将虚拟机的虚拟内存从8g调整到16g,发现问题依然没有解决;
3、最后研究出有通过更改配置的方式解决这个错误。

方法一:
调整内存参数
在hadoop的mapred-site.xml文件中更改配置文件:

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>1536</value>
</property>
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1024M</value>
</property>
<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>3072</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx2560M</value>
</property>

方法二:
增大hadoop的虚拟内存大小,我通过增加linux的虚拟内存,依然报错,通过在配置文件中更改这个参数后,任务成功跑起来了,猜测hadoop应该是有自己的一套配置,没有直接用宿主机的linux,需要单独配置
在hadoop中更改mapred-site.xml中添加

<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>15.5</value>
</property>

标签:更改,mapreduce,hadoop,内存,memory,虚拟内存
From: https://www.cnblogs.com/aluna/p/16923201.html

相关文章

  • Flink TaskManager OutOfMemoryError: Metaspace 处理记录
    一个很有意思的Flink任务异常处理记录一、环境信息Flink1.12Standalone模式,单台机器,由于客户环境基本很长时间会看不到运行状态二、问题现象现场同事反馈设备在客户......
  • 【图文教程】Centos 7下安装Hadoop
    环境说明:系统:Centos7在VM中安装的hadoop版本:2.7.7JDK:1.8注意:Hadoop需要Java环境的。记得安装Java环境PS:CentosJDK安装 mkdir /data1:上传jdk的tar.解压2:修改/et......
  • hadoop集群跑任务出错总结
    1. Causedby:org.apache.hadoop.yarn.exceptions.YarnException:Downloadandunpackfailed解决:一般是/etc/hosts没有配置,需要把集群ip对应的域名添加到hosts即可,如......
  • Linux设置虚拟内存
    一、虚拟内存介绍背景介绍Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存的......
  • Hadoop运行环境搭建1
    Hadoop运行环境搭建1第1章Hadoop运行环境搭建(开发重点)1.1虚拟机环境准备1)准备三台虚拟机,虚拟机配置要求如下:单台虚拟机:内存4G,硬盘50G,安装必要环境(1)修改克隆虚拟机的......
  • Hadoop运行环境搭建2
    Hadoop运行环境搭建2接上篇第3章Hadoop编译源码3.1前期准备工作1)CentOS联网配置CentOS能连接外网。Linux虚拟机pingwww.baidu.com是畅通的注意:采用root角色编译,减少文......
  • 【hadoop】../java8/bin/java: No such file or directory
    今天在使用hadoop下载文件的时候,出现了下面的问题。/hadoop-client/hadoop/bin/../../java8/bin/java:Nosuchfileordirectory我当时一脸茫然,因为我把hadoop-client2.1......
  • 报错信息java.lang.OutOfmemoryError: PermGen Space
    问题背景PermGenSpace的全称是PermanentGenerationSpace,是指内存的永久保存区域。这一部分用于存放class和meta的信息,class在加载的时候被放入PermGenSpace区域。它和......
  • 前端项目npm打包出错问题-Reached heap limit Allocation failed - JavaScript heap o
    其实就是编译时的内存溢出,因为打包文件过大,刚好超过内存的限制大小造成编译中断。解决方案一通过package.json中的"build"加大内存增加--max_old_space_size参数解决方......
  • Flink 配置HADOOP_CLASSPATH 影响Hive的日志打印问题
    由于FlinkonYarn的部署需要hadoop的依赖:  比较常见的解决方式会将hadoopcalsspath放在Linux的系统环境变量下,但是这里会影响Hive的日志级别,导致Hive打印过多的INFO......