Spark任务运行失败,ApplicationMaster出现物理内存溢出异常
Spark任务运行失败,ApplicationMaster出现物理内存溢出异常
现象描述
在YARN上运行Spark任务失败,ApplicationMaster出现物理内存溢出异常。报错内容如下:
2016-05-12 19:27:18,078 | WARN | Container Monitor | Container [pid=205193,containerID=container_1462240697997_3649_01_000001] is running beyond physical memory limits. Current usage: 4.5 GB of 4.5 GB physical memory used; 6.8 GB of 22.5 GB virtual memory used. Killing container.
可能原因
日志中显示“Killing container”,直接原因是物理内存使用超过了限定值,YARN的NodeManager监控到内存使用超过阈值,强制终止该container进程。
定位思路
无。
处理步骤
在Spark客户端“spark-defaults.conf”配置文件中增加如下参数,或者在提交命令时添加–conf指定如下参数,来增大memoryOverhead。
- spark.yarn.driver.memoryOverhead:设置堆外内存大小(cluster模式使用)。
- spark.yarn.am.memoryOverhead:设置堆外内存大小(client模式使用)。