如何优雅的停止SparkStreaming应用进程

问题

流式计算时需要中断程序,可能会造成当前正在处理的数据丢失,或者重复处理

解决

对于spark-streaming

  1. 在spark-default.conf中配置:
    spark.streaming.stopGracefullyOnShutdown true
  2. 使用kill -15 <pid> 关闭spark 应用进程
  3. 实际使用中发现需要特别长时间才能完全关闭,对于我,看到日志中executor进程已经关闭,再使用kill -9 <pid>强制关闭即可。

kill 后面的数字是通知进程的信号,不同的数字对应不同的行为,15只是通知程序要关闭,9是强制关闭,需要了解更详细的搜素kill命令即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容