项目中提交任务至Hadoop中,在Reduce阶段以及Applicationmaster阶段均有提示:

java.lang.OutOfMemoryError: GC overhead limit exceeded

解决办法

增加Hadoop集群资源分配,调整reduce以及Applicationmaster的内存。

reduce总数的调整取决于数据大小和可用资源。如果数据集很大,那么可能需要增加reduce总数以加快作业的处理速度。如果数据集较小,则可以减少reduce总数以节省资源。

reduce内存大小分配计算公式(仅为最低内存):

最少分配reduce内存 = 文件大小 / reduce总数 * 3

reduce.memory = output_size / num_reduces * 3

appmaster内存 = map + reduce任务总内存

参考文档:

https://www.cnblogs.com/liuming1992/p/5040169.html
https://blog.csdn.net/weixin_38822045/article/details/88894415

END

本文标题:hadoop任务提示error: GC overhead limit exceeded

本文作者:宇宙最帅的男人

本文链接:https://lolicp.com/hadoop/202326573.html

版权声明:转载或者引用本文内容请注明来源及原作者,本文著作权归作者 (宇宙最帅的男人) 所有。

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

最后修改:2023 年 05 月 26 日
如果觉得我的文章对你有用,请随意赞赏