首页 > 解决方案 > 在 Yarn 集群模式下如何处理 Spark App 的异常驱动程序终止

问题描述

我们将 AWS EMR 用于 Spark 作业。我们所有的作业都以纱线集群模式提交,因此驱动程序将在集群节点之一中运行。我们使用按需节点作为主节点,使用点实例作为核心节点。现在,尽管我们几乎总是选择中断率 < 5% 的实例,但有时会发生很大一部分集群节点过早终止(可能是因为更高的需求)。

所以,我想知道,在上述情况下,如果包含驱动程序进程的节点出现故障会发生什么?在这种情况下,火花工作有恢复的机会吗?还是工作一去不复返?

标签: apache-sparkamazon-emr

解决方案


Spark 驱动程序是单点故障,因为它保存了正在运行的应用程序的所有集群状态。

在实践中,非临时存储可用于检查点批处理应用程序经过昂贵昂贵的转换。话虽如此,在这种情况下尝试重新启动是可以做到的,但是当我研究它时,至少可以说很难。我前段时间用我的名字问过这样一个问题,你可以找到它。我很有技术,但觉得:天哪,工作辛苦了。

所以,恢复意味着滚动你自己的东西,或者接受重新运行。自从我上次评估 EMR 以来,我发现驱动程序可以在 Master 上运行并且可以进行故障转移,但据我所知,这与您所希望的不同。


推荐阅读