spark Container killed by YARN for exceeding memory limits.问题处理

ExecutorLostFailure (executor 2 exited caused by one of the running tasks) Reason: Container killed by YARN for exceeding memory limits. 25.8 GB of 25.5 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead or disabling yarn.nodemanager.vmem-check-enabled because of YARN-4714.

1、考虑增加每个 task 的可用内存

// 增大Executor 内存

// 减少 executor-cores 数

2、增加memoryOverhead的值

set spark.yarn.executor.memoryOverhead=6G;

memoryOverhead参数:

是YARN资源管理器为每个executor分配的额外内存。

这部分内存不直接用于存储或计算数据,而是用于执行器运行时的各种开销,如操作系统、库和其他必要的进程。

默认情况下,memoryOverhead的计算方式是executor总内存(包括堆内存在内)的15%。

在处理大规模数据集或进行复杂计算时,可能需要增加memoryOverhead的值以确保足够的内存供各种运行时开销使用。

相关推荐
chimchim662 小时前
【starrocks学习】之将starrocks表同步到hive
hive·hadoop·学习
李匠20246 小时前
大数据学习之Spark分布式计算框架RDD、内核进阶
大数据·学习·spark
Cynthiaaaaalxy6 小时前
Spark--如何理解RDD
spark
Cynthiaaaaalxy6 小时前
Spark--算子执行原理
大数据·分布式·spark
WHYBIGDATA17 小时前
Hive之数据定义DDL
大数据·数据库·hive·hadoop
码农幻想梦18 小时前
实验十一 Servlet(二)
数据仓库·hive·hadoop
黄土高坡上的独孤前辈20 小时前
Hive on Spark优化
spark
码农幻想梦1 天前
实验十 Servlet(一)
hive·hadoop·servlet
赛博末影猫1 天前
Maven(Ⅱ):依赖范围,依赖传递,依赖阻断,可选依赖
数据库·hive·maven