开发者社区> 问答> 正文

e-mapreduce运行任务时 经常报错Caused by: java.lang.OutOfMemoryError: Java heap space

e-mapreduce运行任务时 经常报错Caused by: java.lang.OutOfMemoryError: Java heap space 查看系统内存都是正常的,这个内存怎么配置呢 ?

展开
收起
封神 2016-08-31 10:32:10 4311 0
1 条回答
写回答
取消 提交回答
  • 专注在大数据分布式计算、数据库及存储领域,拥有13+年大数据引擎、数据仓库、宽表引擎、平台研发经验,6年云智能大数据产品技术一号位经验,10年技术团队管理经验;云智能技术架构/云布道师; 研发阿里历代的大数据技术产品包括ODPS、DLA、ADB,最近五年主导宽表引擎研发、DLA、ADB湖仓研发;

    只要是java,就可能出现oom的。heap溢出是最常见的。
    这里没有指出具体跑的是hive、hadoop mr还是spark。可以具体分析是什么原因引起的溢出,常见的原因有:
    1、数据倾斜 解决办法是增加并发,或者单独为key增加随机数,后再聚合。
    2、spark则可能原因是cache过多,可以换多层换成或者增加内层。

    有时候 给map或者reduce内存过小也可能会出现内存溢出,一般来讲大于1024m为宜

    2019-07-17 20:06:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载