Flink中task的failover機制

2021-10-05 07:47:55 字數 455 閱讀 7565

flink中的failover分為task的failover和master的failover。

我們先來看task的failover,它有多種策略:

1.restart-all

重啟所有的task,從上次的checkpoint開始重新執行。

只重啟出錯的task,只適用於task間無連線的情況,應用場景有限。

3.restart-region

重啟pipeline region。因為block邊資料落盤,可以直接讀取,邏輯上僅需重啟通過pipeline邊關聯的task。

(block邊:資料有落盤。pipeline邊:資料不落盤)

再看master的failover的恢復策略:

flink 並行度 任務鏈 task分配

不同的運算元操作複雜度不同 我們可以稱像source map sink 這種 計算不複雜的運算元稱為非資源密集型的運算元 aggregate reduce sum window 這種計算複雜的運算元稱為為資源密集型的運算元 如果把這兩種運算元的優先順序看作相同,平等的分配到slo中,當資料流sour...

Task中啟動task的風險分析

序 這兩天遇到乙個task中引數傳遞錯誤的問題,折騰了一天多,總算找到原因了,記錄之。設計思維 maintask是程式的主task,在 maintask 中重新建立新的task,呼叫關係 maintask 實際引數 位址 資訊 param 0x12a154 0x0 void taskastart i...

Flink原理與實現 詳解Flink中的狀態管理

上面flink原理與實現的文章中,有引用word count的例子,但是都沒有包含狀態管理。也就是說,如果乙個task在處理過程中掛掉了,那麼它在記憶體中的狀態都會丟失,所有的資料都需要重新計算。從容錯和訊息處理的語義上 at least once,exactly once flink引入了stat...