gpt4 book ai didi

apache-spark - 减少执行者核心数量会消耗更少的执行者内存吗?

转载 作者:行者123 更新时间:2023-12-04 04:12:38 25 4
gpt4 key购买 nike

我的Spark作业失败,并显示YARN错误Container killed by YARN for exceeding memory limits 10.0 GB of 10 GB physical memory used

凭直觉,我将核心数从5减少到1,该作业成功运行。

我没有增加executor-memory,因为10g是我的YARN群集的最大值。

我只是想确认我的直觉。减少executor-cores的数量会减少executor-memory的消耗吗?如果是这样,为什么?

最佳答案

spark.executor.cores = 5, spark.executor.memory=10G

这意味着执行者可以并行运行5个任务。这意味着5个任务需要共享10 GB内存,因此平均而言有效-每个任务将有2 GB可用空间。如果所有任务消耗的内存超过2 GB,那么最终整个JVM的消耗将超过10 GB,因此YARN将杀死该容器。
spark.executor.cores = 1, spark.executor.memory=10G

这意味着执行者只能运行1个任务。这意味着10 GB完全可用于一项任务。因此,如果任务使用的内存大于2 GB但小于10 GB,它将可以正常工作。您的工作就是这种情况,因此行之有效。

关于apache-spark - 减少执行者核心数量会消耗更少的执行者内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55908274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com