如何优雅地停止运行 Spark Streaming 应用程序?

问题描述 投票:0回答:1

如何停止 Spark Streaming? 我的 Spark Streaming 作业正在持续运行。我想优雅地停下来。

我看到了以下用于关闭流媒体应用程序的选项。

sparkConf.set("spark.streaming.stopGracefullyOnShutdown","true") 

Spark 配置:可用属性

但是,如何在正在运行的应用程序上更新此参数?

apache-spark spark-streaming
1个回答
18
投票

看看这篇博文。这是我遇到过的优雅终止流媒体作业的“最好”方式。

如何传递关机信号:

现在我们知道如何确保 Spark Streaming 正常关闭。但是我们如何将关闭信号传递给 Spark Streaming。一个天真的选择是在运行驱动程序的屏幕终端上使用 CTRL+C 命令,但显然这不是一个好的选择。 我正在使用的一种解决方案是 grep Spark Streaming 的驱动程序进程并发送 SIGTERM 信号。当驱动程序收到此信号时,它会启动应用程序的正常关闭。 我们可以在一些 shell 脚本中编写如下命令并运行该脚本来传递关闭信号:

ps -ef | grep 火花 |查询 | awk '{print $2}' | xargs 杀死 -SIGTERM

例如ps-ef | grep 火花 | grep 数据管道流驱动程序 | awk '{print $2}' | xargs 杀死 -SIGTERM

© www.soinside.com 2019 - 2024. All rights reserved.