AKC*_*AKC 8 apache-spark spark-streaming
我如何阻止火花流?我的火花流工作正在持续运行.我想以优雅的方式停下来.
我在下面看到了关闭流应用程序的选项.
sparkConf.set("spark.streaming.stopGracefullyOnShutdown","true")
Run Code Online (Sandbox Code Playgroud)
但是,如何在正在运行的应用程序上更新此参数?
Gle*_*olt 15
看看这篇博文.它是优雅地终止我遇到的流媒体工作的"最好的"方式.
如何通过关机信号:
现在我们知道如何确保火花流中的正常关闭.但是我们怎样才能将关闭信号传递给火花流.一个天真的选择是在我们运行驱动程序的屏幕终端上使用CTRL + C命令,但显然它不是一个好的选择.我正在使用的一个解决方案是grep驱动程序的spark spark并发送SIGTERM信号.当驱动程序获得此信号时,它会启动应用程序的正常关闭.我们可以在一些shell脚本中编写如下命令,然后运行脚本来传递shutdown信号:
ps -ef | grep spark | grep | awk'{print $ 2}'| xargs kill -SIGTERM
例如ps -ef | grep spark | grep DataPipelineStreamDriver | awk'{print $ 2}'| xargs kill -SIGTERM