MapReduce 作业因 OOM 而失败 [org.apache.hadoop.mapreduce.v2.app.MRAppMaster:启动 MRAppMaster 时出错]

问题描述 投票:0回答:1

我向 MapReduce 作业中的 FileInputFormat 提供逗号分隔的文件名。我的数据总大小是 30Gb 压缩的 snappy orc 文件。

当我的 MapReduce 作业在 30 秒后立即启动时,它失败并出现 OOM 错误

2024-07-31 00:59:02,572 致命[主要] org.apache.hadoop.mapreduce.v2.app.MRAppMaster:启动 MRAppMaster 时出错 java.lang.OutOfMemoryError:Java堆空间 在 java.util.Arrays.copyOf(Arrays.java:3332) 在java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) 在 java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448) 在 java.lang.StringBuffer.append(StringBuffer.java:270) 在 org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(来源未知) 在 org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(来源未知) 在 org.apache.xerces.dom.DeferredTextImpl.synchronizeData(来源未知) 在 org.apache.xerces.dom.CharacterDataImpl.getData(来源未知) 在org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2775) 在org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2663) 在 org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2559) 在 org.apache.hadoop.conf.Configuration.get(Configuration.java:1340) 在 org.apache.hadoop.mapreduce.v2.util.MRWebAppUtil.initialize(MRWebAppUtil.java:51) 在 org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1498)

MapReduce作业是尝试将完整的输入数据加载到内存中并运行还是逐个文件执行??

我尝试了以下参数,但没有帮助

mapreduce.reduce.memory.mb=15360

mapreduce.map.memory.mb=10240

mapreduce.reduce.java.opts=-Xms14g -Xmx14g -Djava.net.preferIPv4Stack=true -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc

mapreduce.map.java.opts=-Xms9g -Xmx9g -Djava.net.preferIPv4Stack=true -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc

yarn.app.mapreduce.am.resource.mb=81920

yarn.app.mapreduce.am.command-opts=-Xms77g -Xmx77g -Djava.net.preferIPv4Stack=true -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc

我使用的hadoop版本:Hadoop 2.6.0-cdh5.16.1

hadoop mapreduce hadoop-yarn
1个回答
0
投票

添加command-opts参数后解决

yarn.app.mapreduce.am.resource.mb=6144

yarn.app.mapreduce.am.command-opts=-Xms3g -Xmx5g

© www.soinside.com 2019 - 2024. All rights reserved.