簡體   English   中英

在多個任務管理器上失敗和恢復Flink作業/數據流

[英]Flink job/data flow on multiple task managers failure and recovery

如果我們有2個任務管理器,每個任務管理器都在不同的JVM中運行(通常如此),並且假設在數據流中間有一個運算符(通過異常或由失敗終止的JVM),我們是否可以假設整個數據流,包括所有參加該作業/數據流的任務管理器中的所有來源和操作員,將失敗並重新啟動(如果啟用了重新啟動)? 閱讀您的文檔,我知道答案是肯定的,但希望確定。

JVM 1/
Task manager 1
    source1 (1) --> operator1 (1) --> ...
                |
JVM 2/          |
Task manager 2  |
                |
                --> operator1 (2) --> ...

因此,假設operator1(2)失敗/它的JVM失敗了,source1實例和兩個operator1實例都會失敗並重新啟動嗎?

對,那是正確的。 在當前版本(Flink 1.5.0)中,通過取消所有任務並重新啟動它們來恢復作業。

但是,將來可能會改變這種情況,以加快恢復周期。 如果發生這種情況,任務將被暫停,從上一個成功的檢查點重新加載其狀態,並在恢復失敗的任務后繼續執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM