2016-08-05 28 views

回答

1

如果您正在尋找升級應用程序代碼,請參閱spark-streaming文檔。

升級應用程序代碼如果正在運行的星火流應用 需要與新的應用程序代碼進行升級,那麼有兩種 可能的機制。

升級星火流應用程序啓動和 並行運行現有的應用程序。一旦新數據(接收到與舊數據相同的數據)已被預熱並準備好時間 時,舊數據就可以被降低。請注意,對於支持將數據發送到兩個目標 (即較早的和已升級的應用程序)的數據源,可以使用 。

現有應用程序是正常關閉(參見 StreamingContext.stop(...)或JavaStreamingContext.stop(...)爲 正常關閉選項),其確保已接收 關機之前完全處理的數據。然後可以啓動升級的應用程序 ,該應用程序將從早期應用程序中斷的同一點開始處理。注意,需要數據,而以前的應用程序是 下來,升級後的應用還沒有達到被緩衝可以做到這一點只有 支持源端緩衝輸入源(如卡夫卡,以及 水槽)。並且從 之前的重新啓動前升級代碼的檢查點信息無法完成。 檢查點信息本質上包含序列化的 Scala/Java/Python對象,並試圖用新的, 修改的類反序列化對象可能會導致錯誤。在這種情況下,可以使用不同的檢查點目錄啓動 已升級的應用程序,或者刪除以前的檢查點目錄 。

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