关于yarn平台下mapreduce运行出现的虚拟内存溢出问题
2014-01-02 22:01
218 查看
最近在测试一个统计类型的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是否存在着什么问题,毕竟一旦发布到线上,将会迎来大数据量的考验。
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是否存在着什么问题,毕竟一旦发布到线上,将会迎来大数据量的考验。
相关文章推荐
- 关于在linux平台或cygwin平台运行opencv出现Illege instruction(core dump)问题的缘由
- 关于在windows平台下使用ipython运行pyspark的问题
- 关于构建webx的时候运行mvn jetty:run出现无法打开C:\Users\GS\.m2\repository\commons-lang.2.4.jar的问题
- Ubuntu 16.04下用Wine运行的软件出现方块的解决思路(应该是兼容现在所有平台的Wine碰到这个的问题)
- 关于cocos2d-x项目移植到android平台的时候明明已经将资源复制到assets还是出现的assets is nullptr的问题
- 关于Ubuntu运行shell程序出现问题的解决
- 关于VS2013连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案。
- 关于Vs 2005 中出现编译通过,但运行时出现“未使用调试信息生成二进制文件”的问题
- 用eclipse打包mapreduce程序 运行出现解析路径错误的诡异问题
- 关于Elasticsearch 运行过程出现问题的相关思考
- 关于VC6中基于对话框的程序,往Combox 添加一个CComboBox变量,然后程序编译运行,窗口不出现的问题
- 关于Eclipse链接SQLServer2008时运行java出现的用户 ‘sa’ 登录失败问题!
- 关于以前应用程序运行出现配置错误的问题的解决方案
- 关于用g++编译后运行时出现的问题:无法定位程序输入点__gxx_personality_v0
- 关于第一次整合SSH完运行出现的问题
- 关于python里运行出现'module' object has no attribute 'xxxx'等问题解决方法
- 关于用VS写C程序运行时出现"烫"字以及乱码的问题的原因
- YAWL引擎运行失败出现关于log4j问题的原因和解决方法
- 关于在windows平台下使用ipython运行pyspark的问题
- 解决SiteWeaver SQL版在windows2008 x64平台下运行出现的缩略图组件无效、邮件发送组件无效和学籍系统出错问题