[英]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.