偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Flink Checkpoint源碼級拆解

大數(shù)據(jù)
Flink Checkpoint的工作原理是定期創(chuàng)建所有分布式應(yīng)用程序狀態(tài)的一致快照,允許 Flink 通過將應(yīng)用程序狀態(tài)恢復(fù)到最新的檢查點來從故障中恢復(fù)。

檢查點是 Apache Flink 的主要容錯機制。它的工作原理是定期創(chuàng)建所有分布式應(yīng)用程序狀態(tài)的一致快照,允許 Flink 通過將應(yīng)用程序狀態(tài)恢復(fù)到最新的檢查點來從故障中恢復(fù)。

一、Core Components  核心組件

checkpointing 系統(tǒng)由幾個關(guān)鍵組件組成,這些組件協(xié)同工作以實現(xiàn)容錯:

1. CheckpointCoordinator(檢查點協(xié)調(diào)器)

CheckpointCoordinator 是 Flink 檢查點機制的核心組件。它作為 JobManager 的一部分運行,并負(fù)責(zé):

  • 定期觸發(fā) checkpoint 創(chuàng)建
  • 向源發(fā)送檢查點屏障
  • 從任務(wù)中收集確認(rèn)
  • 管理待處理和已完成的 checkpoint
  • 處理檢查點失敗
  • 在恢復(fù)期間協(xié)調(diào)檢查點恢復(fù)

2. PendingCheckpoint  待處理檢查點

PendingCheckpoint 表示已啟動但尚未被所有任務(wù)確認(rèn)的 checkpoint。它保存已確認(rèn)任務(wù)的部分狀態(tài),并跟蹤哪些任務(wù)仍需要確認(rèn)。

主要特點:

  • 觸發(fā) checkpoint 時創(chuàng)建
  • 收集任務(wù)狀態(tài)確認(rèn)
  • 當(dāng)所有任務(wù)都確認(rèn)時,變?yōu)?CompletedCheckpoint
  • 如果任務(wù)失敗或超時,可以中止

3. CompletedCheckpoint  已完成檢查點

CompletedCheckpoint 表示可用于恢復(fù)的完全確認(rèn)的檢查點。它包含還原應(yīng)用程序狀態(tài)所需的所有狀態(tài)句柄。

主要特點:

  • 當(dāng)所有任務(wù)都已確認(rèn) PendingCheckpoint 時創(chuàng)建
  • 存儲在 CompletedCheckpointStore 中
  • 在恢復(fù)期間用于恢復(fù)應(yīng)用程序狀態(tài)
  • 元數(shù)據(jù)持久化到外部存儲

4. CompletedCheckpointStore  已完成檢查點存儲

CompletedCheckpointStore 維護已完成檢查點的歷史記錄。它負(fù)責(zé):

  • 存儲已完成的 checkpoint
  • 管理保留的 checkpoint 數(shù)量
  • 提供用于恢復(fù)的檢查點
  • 在達(dá)到最大限制時丟棄舊的 checkpoint

二、檢查點流程

下圖說明了 Flink 中的完整 checkpoint 過程:

1. 觸發(fā) Checkpoint

可以通過三種方式觸發(fā) Checkpoint:

  • Periodically:最常用的方法,以固定間隔自動觸發(fā)。
  • Manually手動 :通過臨時檢查點的 REST API。Savepoints
  • Savepoints:用戶請求的持久性檢查點,通常用于版本升級或維護。

觸發(fā) checkpoint 時,(CheckpointCoordinator)協(xié)調(diào)器進行如下操作:

  • 從計數(shù)器獲取新的檢查點 ID
  • 創(chuàng)建 PendingCheckpoint 以跟蹤進度
  • 向所有源任務(wù)發(fā)送觸發(fā)器消息
  • 設(shè)置 checkpoint 完成的超時

2. 確認(rèn) Checkpoint

當(dāng)每個任務(wù)處理一個檢查點屏障時,它會:

  • 拍攝其狀態(tài)的快照
  • 通過配置的 state backend 存儲 state
  • 向 CheckpointCoordinator 發(fā)送確認(rèn)

確認(rèn)內(nèi)容包括:

  • 檢查點 ID
  • 任務(wù)的狀態(tài)快照引用
  • 有關(guān)檢查點的性能指標(biāo)

3. 完成檢查點

當(dāng)所有任務(wù)都確認(rèn)了一個 checkpoint 時,PendingCheckpoint 將通過以下方式轉(zhuǎn)換為 CompletedCheckpoint:

  • 完成檢查點元數(shù)據(jù)
  • 將其存儲在 CompletedCheckpointStore 中
  • 如果超過最大計數(shù),則丟棄最早的 checkpoint
  • 通知協(xié)調(diào)器檢查點已完成
責(zé)任編輯:趙寧寧 來源: 大數(shù)據(jù)技能圈
相關(guān)推薦

2022-01-14 07:56:38

Checkpoint機制Flink

2025-04-27 08:15:00

FlinkSavepointCheckpoint

2021-09-08 10:47:33

Flink執(zhí)行流程

2024-05-08 07:17:29

向量數(shù)據(jù)庫數(shù)據(jù)架構(gòu)大模型

2024-08-16 18:42:23

2022-11-02 21:45:54

SPIJava

2011-08-24 10:21:39

CHECKPOINT中文man

2021-09-06 18:55:57

MySQLCheckpoint機制

2021-05-14 08:33:02

Flink策略源碼

2023-06-19 18:37:14

HFDSFlink存儲系統(tǒng)

2021-10-26 00:07:44

推薦系統(tǒng)排序

2021-12-06 07:15:47

開發(fā)Flink SQL

2021-04-12 08:21:48

AQSjavajvm

2022-05-23 09:22:20

Go語言調(diào)試器Delve

2023-03-02 09:32:29

AI服務(wù)器

2010-09-29 13:52:33

PostgreSQL

2021-12-13 07:57:47

Flink SQL Flink Hive Udf

2021-10-17 19:52:40

Python:源碼編譯器

2017-06-15 09:01:24

MySQL拆解高階使用

2011-05-07 15:24:10

墨盒噴墨的打印機
點贊
收藏

51CTO技術(shù)棧公眾號