无法在spark独立群集中正常杀死作业

时间:2017-08-07 11:46:29

标签: apache-spark

启用spark.streaming.stopGracefullyOnShutdown时,在spark 2.1.0中正常杀死流媒体作业存在问题 我已经在很多方面测试过火花工作,我得出了一些结论。

  1. 使用命令spark-submit --master spark:// --kill driver-id
    它几乎立即杀死了工作 - 不是优雅地
  2. 使用api curl -X POST http://localhost:6066/v1/submissions/kill/driverId
    和1中的相同。(我查看了spark-submit代码,看起来这个工具只调用REST端点)
  3. 使用unix kill driver-process
    它根本不会终止工作(驱动程序立即重新启动)
  4. 然后我注意到我使用了param: - supervise所以我重复了这些没有这个标志的测试。事实证明,1.和2.方法的工作方式与之前相同但是3.方法的工作方式与我假设的一样。这意味着,调用kill driver-process job - spark会消化来自kafka的所有消息,这些消息会优雅地拒绝作业。它当然是一些解决方案,但非常不方便,因为我必须使用驱动程序跟踪机器而不是使用简单的spark REST端点。第二个缺点是我不能使用旗帜"监督"所以每当有火花驱动器的节点出现故障而不是停止工作时。

    是否有人能够解释为什么关于这个案例有这么多问题以及为什么1和2方法的工作方式不同于3.杀人。

0 个答案:

没有答案