天天看點

【Flink進階】-- 監控 checkpoint 名額

概覽

監控

Overview

History

Summary

Configuration

Checkpoint 詳細資訊

概覽

Flink 的 Web 界面提供了​

​頁籤/标簽​

​來監視作業的 checkpoint 資訊。在作業終止後,這些統計資訊仍然可用。有四個不同的頁籤可顯示有關 checkpoint 的資訊:Overview,History,Summary和Configuration。以下各節将依次介紹這些内容。

監控

Overview

概覽頁籤列出了以下統計資訊。請注意,這些統計資訊在 JobManager 丢失時無法儲存,如果 JobManager 發生故障轉移,這些統計資訊将重置。

  • Checkpoint Counts
  • Triggered:自作業開始以來觸發的 checkpoint 總數。
  • In Progress:目前正在進行的 checkpoint 數量。
  • Completed:自作業開始以來成功完成的 checkpoint 總數。
  • Failed:自作業開始以來失敗的 checkpoint 總數。
  • Restored:自作業開始以來進行的恢複操作的次數。這還表示自 送出以來已重新啟動多少次。請注意,帶有 savepoint 的初始送出也算作一次恢複,如果 JobManager 在此操作過程中丢失,則該統計将重新計數。
  • Latest Completed Checkpoint:最新(最近)成功完成的 checkpoint。點選 ​

    ​More details​

    ​ 可以得到 subtask 級别的詳細統計資訊。
  • Latest Failed Checkpoint:最新失敗的 checkpoint。點選 ​

    ​More details​

    ​ 可以得到 subtask 級别的詳細統計資訊。
  • Latest Savepoint:最新觸發的 savepoint 及其外部路徑。點選 ​

    ​More details​

    ​ 可以得到 subtask 級别的詳細統計資訊。
  • Latest Restore:有兩種類型的恢複操作。
  • Restore from Checkpoint:從 checkpoint 恢複。
  • Restore from Savepoint:從 savepoint 恢複。

History

Checkpoint 曆史記錄儲存有關最近觸發的 checkpoint 的統計資訊,包括目前正在進行的 checkpoint。

【Flink進階】-- 監控 checkpoint 名額
  • ID:已觸發 checkpoint 的 ID。每個 checkpoint 的 ID 都會遞增,從 1 開始。
  • Status:Checkpoint 的目前狀态,可以是正在進行(In Progress)()、已完成(Completed)()或失敗(Failed)()。如果觸發的檢查點是一個儲存點,你将看到一個  符号。
  • Trigger Time:在 JobManager 上發起 checkpoint 的時間。
  • Latest Acknowledgement:JobManager 接收到任何 subtask 的最新确認的時間(如果尚未收到确認,則不适用)。
  • End to End Duration:從觸發時間戳到最後一次确認的持續時間(如果還沒有收到确認,則不适用)。完整 checkpoint 的端到端持續時間由确認 checkpoint 的最後一個 subtask 确定。這個時間通常大于單個 subtask 實際 checkpoint state 所需的時間。
  • Checkpointed Data Size:所有已确認的 subtask 的 checkpoint 的資料大小。如果啟用了增量 checkpoint,則此值為 checkpoint 資料的增量大小。
  • Processed in-flight data:在 checkpoint alignment 期間(從接收第一個和最後一個 checkpoint barrier 之間的時間)對所有已确認的 subtask 處理的大約位元組數。
  • Persisted in-flight data:在 checkpoint alignment 期間(從接收第一個和最後一個 checkpoint barrier 之間的時間)對所有已确認的 subtask 持久化的位元組數。僅當啟用 unaligned checkpoint 時,此值大于 0。

對于 subtask,有兩個更詳細的統計資訊可用。

【Flink進階】-- 監控 checkpoint 名額
  • Sync Duration:Checkpoint 同步部分的持續時間。這包括 operator 的快照狀态,并阻塞 subtask 上的所有其他活動(處理記錄、觸發計時器等)。
  • Async Duration:Checkpoint 的異步部分的持續時間。這包括将 checkpoint 寫入設定的檔案系統所需的時間。對于 unaligned checkpoint,這還包括 subtask 必須等待最後一個 checkpoint barrier 到達的時間(checkpoint alignment 持續時間)以及持久化資料所需的時間。
  • Alignment Duration:處理第一個和最後一個 checkpoint barrier 之間的時間。對于 checkpoint alignment 機制的 checkpoint,在 checkpoint alignment 過程中,已經接收到 checkpoint barrier 的 channel 将阻塞并停止處理後續的資料。
  • Start Delay:從 checkpoint barrier 建立開始到 subtask 收到第一個 checkpoint barrier 所用的時間。

曆史記錄數量配置

你可以通過以下配置鍵配置曆史記錄所儲存的最近檢查點的數量。預設值為 ​

​10​

​。

# 儲存最近 checkpoint 的個數
web.checkpoints.history: 15      

Summary

摘要計算了所有已完成 checkpoint 的端到端持續時間、Checkpointed 資料大小和 checkpoint alignment 期間緩沖的位元組數的簡單 min/average/maximum 統計資訊(有關這些内容的詳細資訊,請參見 ​​History​​)。

【Flink進階】-- 監控 checkpoint 名額

請注意,這些統計資訊不會在 JobManager 丢失後無法儲存,如果 JobManager 故障轉移,這些統計資訊将重新計數。

Configuration

該配置頁籤列出了你指定的配置(streaming configuration):

【Flink進階】-- 監控 checkpoint 名額
  • Checkpointing Mode:Exactly Once 或者 At least Once。
  • Interval:配置的 checkpoint 觸發間隔。
  • Timeout:逾時之後,JobManager 取消 checkpoint 并觸發新的 checkpoint。
  • Minimum Pause Between Checkpoints:Checkpoint 之間所需的最小暫停時間。Checkpoint 成功完成後,至少要等這段時間再觸發下一個,這可能會延遲正常的間隔。
  • Maximum Concurrent Checkpoints:可以同時進行的最大 checkpoint 個數。
  • Persist Checkpoints Externally:啟用或禁用持久化 checkpoint 到外部系統。如果啟用,還會列出外部化 checkpoint 的清理配置(取消時删除或保留)。

Checkpoint 詳細資訊

當使用者點選某個 checkpoint 的 More details 連結時,你将獲得其所有 operator 的 Minimum/Average/Maximum 摘要資訊,以及每個 subtask 單獨的詳細量化資訊。

每個 Operator 的摘要資訊

【Flink進階】-- 監控 checkpoint 名額

所有 Subtask 的統計資訊

【Flink進階】-- 監控 checkpoint 名額

緻謝謝 Flink 官方英文原文

​​https://ci.apache.org/projects/flink/flink-docs-master/docs/ops/monitoring/checkpoint_monitoring/​​

繼續閱讀