GC overhead limit exceeded 相关案例
2019 年 5 月 13 日,4m1-01 集群上的多个 job 执行失败
2.定位失败的 map task
3.查看失败的 map tasks 的日志
发现第 3 次 task attempt 有一条 FATAL 型的报错:
java.lang.OutOfMemoryError: GC overhead limit exceeded
4.确认末端原因
JVM 的堆栈过小,导致 job 执行失败。
5.解决办法
可以调整 JVM 的堆栈大小,但是目前没有标准可供参考去调整 JVM。而且这种报错的频率不高,所以只能建议业务方再多次执行 job,或改在资源较空闲的时间段执行 job。事实证明,这种办法是可行的。
最佳方案:适当调大 mapreduce.map.memory.mb 这个参数的值
欢迎来撩 : 汇总all