當前位置:編程學習大全網 - 源碼下載 - Flink源碼閱讀(11)--- Flink Task重啟時機

Flink源碼閱讀(11)--- Flink Task重啟時機

本篇文章簡單總結下Flink Task重啟時機

? 在Flink集群正常的情況下,只有Task出現異常才會依據重啟策略發生Task重啟。

? 依照配置的心跳間隔和心跳超時時間進行判斷,站在TM立場,如果觸發:

TaskManager直接fail該TM該Job所有的Task,JobManager標記Task失敗,也會進行fail,並進行重新調度。

關閉TaskManager和ResourceManager的連接,TaskManager會嘗試重新註冊到ResourceManager,ResourceManager會在關閉TaskManager連接時,同時向SlotManager發起unregister,此時SlotManager會釋放掉對應的所有slot,並按照AllocationID通知JobMaster去fail對應分配的task;超過最大註冊時間還未註冊成功,則退出TaskManager進程。

? yarn會通知Flink ResourceManager某些container已經掉線,此時ResourceManager會關閉和這個container的連接,參照上述2.1.2中的描述,進行task的失敗處理。

?TaskManager將根據Zookeeper去找到新的JobManager:

? 1. 心跳超時時間內找到新的JobManager:此時fail所有的task,然後發起重新註冊;

? 2. 心跳超時後找到新的JobManager:超時即fail所有的task,等待找到新的JobManager,然後發起重新註冊;

壹旦JobManager發生變更,必然發生Task的重啟;同時,ResourceManager發生變更,也會發起重新註冊的流程,此時也會產生Task的重啟。

這裏推薦壹篇介紹flink容錯機制好的文章, 深入理解 Flink 容錯機制

  • 上一篇:ASP.NET動態網站開發案例課程書目
  • 下一篇:“江恩八線”是哪八線?
  • copyright 2024編程學習大全網