如何在Yarn上配置应用程序驱动程序的自动重新启动

时间:2015-05-15 03:04:46

标签: apache-spark yarn spark-streaming

来自Spark编程指南

要从驱动程序故障中自动恢复,用于运行流应用程序的部署基础结构必须监视驱动程序进程,并在驱动程序失败时重新启动驱动程序。不同的集群管理器有不同的工具来实现这一目标。

Spark Standalon

  • Spark Standalone - 可以提交Spark应用程序驱动程序以在Spark Standalone集群中运行(请参阅集群部署模式),即应用程序驱动程序本身在其中一个工作节点上运行。此外,可以指示独立集群管理器监督驱动程序,如果驱动程序由于非零退出代码而失败,或者由于运行驱动程序的节点故障,则重新启动它。有关详细信息,请参阅Spark Standalone指南中的集群模式和监督。
  • YARN - Yarn支持类似的机制来自动重启应用程序。有关更多详细信息,请参阅YARN文档。 ....

      

    所以,问题是如何支持Spark的自动重启   在纱线上流式传输

  •   
  谢谢和最诚挚的问候,

2 个答案:

答案 0 :(得分:3)

您正在寻找的是一套在纱线"集群模式下启动应用程序的说明" : https://spark.apache.org/docs/latest/running-on-yarn.html

这意味着您的驱动程序应用程序在YARN上的群集上运行(而不是在本地计算机上)。因此,如果YARN失败,它可以重新启动。

答案 1 :(得分:1)

如此处记录: https://spark.apache.org/docs/latest/running-on-yarn.html

spark.yarn.maxAppAttempts-
“将提交应用程序的最大尝试次数。它不应大于YARN配置中的全局最大尝试次数。”

设置“ YARN配置中的最大最大尝试次数”:

https://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

yarn.resourcemanager.am.max-attempts- “应用程序尝试的最大次数。这是所有应用程序主机的全局设置。每个应用程序主机可以通过API指定其最大的应用程序尝试次数,但是该次数不能超过全局上限。如果是,资源管理器将覆盖它。默认数字设置为2,以允许至少一次重试AM“