分享

Yarn提交任务后OOM,内存我刚绝给得挺大的了。




2016-04-14 15:21:43,133 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space        at java.lang.StringCoding.decode(StringCoding.java:215)        at java.lang.String.<init>(String.java:453)        at org.apache.hadoop.hbase.util.Bytes.toString(Bytes.java:401)        at org.apache.hadoop.hbase.util.Bytes.toString(Bytes.java:351)        at com.tsi.hadoop.mr.task.crosstrade.CrossAnalysisSort01.compare(CrossAnalysisSort01.java:37)        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.compare(MapTask.java:1269)        at org.apache.hadoop.util.QuickSort.sortInternal(QuickSort.java:99)        at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:63)        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1597)        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1486)        at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:723)        at org.apache.hadoop.mapred.MapTask.closeQuietly(MapTask.java:2016)        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:797)        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)        at java.security.AccessController.doPrivileged(Native Method)        at javax.security.auth.Subject.doAs(Subject.java:415)        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

以下是我的部门配置
        <property>
                        <name>mapred.child.java.opts</name>
                        <value>-Xmx4096m</value>
        </property>
        <property>
                        <name>mapreduce.task.io.sort.mb</name>
                        <value>300</value>
        </property>
<property>
    <name>mapreduce.map.memory.mb</name>
    <value>4000</value>
    <description>每个Map任务的物理内存限制</description>
  </property>

  <property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2600</value>
    <description>每个Reduce任务的物理内存限制</description>
  </property>

  <property>
    <name>mapreduce.map.java.opts</name>
    <value>-Xmx4096m</value>
  </property>

  <property>
    <name>mapreduce.reduce.java.opts</name>
    <value>-Xmx2600m</value>
  </property>

已有(2)人评论

跳转到指定楼层
goldtimes 发表于 2016-4-14 16:24:48
楼主jvm的设置要小于memory,例如下面
mapreduce.map.memory.mb=4096;
mapreduce.map.java.opts=-Xmx3686m;

如果下图所示,如果jvm大于memory就会发生楼主的事情
1.png


https://documentation.altiscale. ... appers-and-reducers

回复

使用道具 举报

luguoyuanf 发表于 2016-4-15 09:23:58
goldtimes 发表于 2016-4-14 16:24
楼主jvm的设置要小于memory,例如下面
mapreduce.map.memory.mb=4096;
mapreduce.map.java.opts=-Xmx3686 ...

多谢,我先试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条