开发者社区 问答 正文

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 4365 分享
分享
版权
举报
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 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等