FAQ-Container killed by YARN for exceeding memor
更新时间: 2024-03-11 02:47:45
阅读 4468
FAQ - Container killed by YARN for exceeding memory limits
问题描述/异常栈
spark任务报错:Container killed by YARN for exceeding memory limits
解决方案
container内存超过了限制,解决:
1、增大executor-memory(executor内存)
明确该任务资源不足的情况(输入程序的数据量明显大于该任务的内存资源大小),增大executor-memory内存大小
2、增大spark.yarn.executor.memoryOverhead(executor堆外内存)
如:下图中的情况,该任务的资源是明确够用的,且错误日志中提示增大堆外内存:Consider boosting spark.yarn.executor.memoryOverhead.
分析:默认堆外内存只有max( executorMemory * 0.10,384M) ,如果只是增加executorMemory,堆外内存增加不幅度不大,根据 "11.1 GB of 11 GB physical memory used"推断需要(11.1G * 0.1 = 1.11G)的堆外内存。所以,设置参数 spark.yarn.executor.memoryOverhead 2048
具体增大哪一项,需要结合具体场景
问题原因
待补充
作者:林帅
文档反馈
以上内容对您是否有帮助?