将Spark-Streaming的更改部署到生产的过程

时间:2016-08-05 11:26:55

标签: apache-spark spark-streaming

在没有停机的情况下,在Spark-Streaming中对生产进行一些更改的过程是什么?

1 个答案:

答案 0 :(得分:1)

如果您正在寻找升级应用程序代码,请参阅spark-streaming文档。

  

升级应用程序代码如果正在运行Spark Streaming应用程序   需要使用新的应用程序代码进行升级,然后有两个   可能的机制。

     

升级的Spark Streaming应用程序已启动并运行   与现有应用程序并行。一旦新的(接收   与旧的数据相同的数据已经预热并准备好接头   时间,旧的可以被打倒。请注意,这可以完成   用于支持将数据发送到两个目标的数据源   (即早期和升级的应用程序)。

     

现有应用程序正常关闭(请参阅   StreamingContext.stop(...)或JavaStreamingContext.stop(...)for   优雅的关闭选项,确保收到的数据   在关机前完全处理。然后升级的应用程序   可以启动,它将从同一点开始处理   早期的申请中断了。请注意,这只能通过以下方式完成   支持源端缓冲的输入源(如Kafka和   Flume)因为数据需要在之前的应用程序中进行缓冲   down并且升级的应用程序尚未启动。并重新启动   无法完成升级前代码的早期检查点信息。该   检查点信息基本上包含序列化   Scala / Java / Python对象并试图用new反序列化对象,   修改后的类可能会导致错误。在这种情况下,要么开始   已升级的应用程序具有不同的检查点目录,或删除   以前的检查点目录。

https://spark.apache.org/docs/latest/streaming-programming-guide.html