gpt4 book ai didi

apache-spark - Yarn 不断杀死 EMR 上的 Spark Application master

转载 作者:行者123 更新时间:2023-12-03 21:35:19 25 4
gpt4 key购买 nike

我正在 EMR emr-4.3.0 上运行一个带有 1 个主节点和 4 个节点的 spark 应用程序

它们每个都有 5GB 内存和 2 个内核。

以下是我的 spark-submit 选项

--class com.mobi.vserv.driver.Query5kPids1
--num-executors 4
--executor-memory 4g
--executor-cores 2
--driver-memory 4g



但我不断收到以下错误

ERROR executor.CoarseGrainedExecutorBackend: Driver 10.225.19.144:56334 disassociated! Shutting down.



最后 Yarn 杀死了 Application master

ERROR ApplicationMaster: RECEIVED SIGNAL 15: SIGTERM



1) 我可以进一步改进 num-executors 和 executor-cores 的 spark-submit 选项吗?

2) 我在性能图中看到只有 2 个节点的 CPU 利用率高于 50 % ,而其他 2 个节点的 CPU 利用率低于 5 %。

3) 有趣的是,我在 2 个节点和 1 个主节点上使用 Spark-submit 中给出的相同配置运行了相同的应用程序,并且应用程序运行成功。那么有 4 个节点的这种行为的原因是什么

最佳答案

使用 yarn 运行 spark 时,手动强制执行程序实例的数量从来都不是一件好事,请使用 spark.dynamicAllocation.enabled=true反而。

这样spark会礼貌地询问yarn,如果它可以有更多的资源来运行,如果yarn有,它就会授予它。

要找到您的场景的根本原因,您需要查看 yarn 的应用程序 ui(namenode 上的默认端口 8088)上有多少内存 yarn。
由于您为每个执行程序指定了自己的内存,因此 yarn 只能分配该大小的实例,而且 yarn 必须为下一个任务预留一组 vCore 和内存预留。

如果有问题,您可以使用“yarn -applicationId app_name_id”来查找yarn上的应用程序日志。

关于apache-spark - Yarn 不断杀死 EMR 上的 Spark Application master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36285837/

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