如何在 Spark Streaming 中自动重启故障节点?

Posted

技术标签:

【中文标题】如何在 Spark Streaming 中自动重启故障节点?【英文标题】:How to automatically restart a failed node in Spark Streaming? 【发布时间】:2015-11-09 12:18:29 【问题描述】:

我在独立模式下的集群上使用 Spark。

我目前正在开发一个 Spark Streaming 应用程序。我为系统添加了检查点,以处理主进程突然失败的情况,我发现它运行良好。

我的问题是:如果整个节点崩溃(电源故障、硬件错误等)会发生什么,有没有办法自动识别集群中的故障节点,如果是这样,在同一台机器上重新启动它们(或在同一台机器上重新启动它们)不同的机器)

我查看了monit,但它似乎在特定机器上运行并重新启动失败的进程,而我需要在节点上做同样的事情。为了清楚起见,我不介意重启操作是否需要一点时间,但我希望它自动发生

有什么办法吗?

提前致谢

【问题讨论】:

【参考方案1】:

如in the official documentation 所述,Spark Standalone 至少对主节点有一些支持。

当一个工作节点死亡时,Spark 会在其他节点上调度作业,这或多或少也适用于 Spark Streaming。

除此之外,您还需要一些集群管理和监控工具。

【讨论】:

以上是关于如何在 Spark Streaming 中自动重启故障节点?的主要内容,如果未能解决你的问题,请参考以下文章

Spark Streaming 预写日志在重启后不重播数据

SPARK k8s backend中Executor Rolling(Executor的自动化滚动驱逐)

SPARK k8s backend中Executor Rolling(Executor的自动化滚动驱逐)

Note_Spark_Day13:Structured Streaming

在 Spark Streaming 中,如何检测空批次?

Spark Streaming 实时计算在甜橙金融监控系统中的应用及优化