系統檢查點(Checkpoint)和作業快照(Savepoint)統稱為狀態集。本文為您介紹如何管理作業的狀態集,包括創建、查看、刪除和從指定狀態恢復。
背景信息
概念 | 詳情 |
系統檢查點 (對應Apache Flink中的Checkpoint) | 生命周期完全由Flink系統管理,您可以配置系統檢查點間隔、系統檢查點超時時間和兩次系統檢查點間最短間隔,并查看其生成情況。但無法手動創建和刪除系統檢查點,作業會默認保留一個系統檢查點作為作業恢復時可選擇的狀態集中的一部分。參數配置操作詳情請參見配置作業部署信息。 |
作業快照 (對應Apache Flink中的Savepoint) | 生命周期完全由用戶管理,具體表現在以下方面:
說明 當配置為定時生成或清理時,系統是根據用戶配置的規則進行,因此也屬于用戶管理。 |
針對系統檢查點和作業快照,支持您進行以下操作,具體的使用場景和文檔鏈接如下表所示。
操作 | 使用場景 | 文檔鏈接 |
手動創建作業快照 | 如果您需要在某個特定時間(作業運行時或者停止時)手動創建一個作業快照,并希望從該快照恢復作業,則可以手動創建作業快照。 重要
| |
配置定時自動創建作業快照 | 如果您需要系統可以自動定時創建作業快照,則可以配置作業快照創建周期。保存該規則后,作業運行過程中,系統會根據此周期來自動創建作業快照,無需您進行手動創建。 | |
查看系統檢查點和作業快照生成總覽 | 您可以在總覽處,了解系統檢查點和作業快照的生成歷史,通過生成狀態和相關時間快速了解作業狀態的保存情況。 | |
從(其他作業)指定快照恢復作業 | 如果您需要從指定快照恢復作業,則可以指定作業快照,進行作業恢復。 說明 支持作業間快照的共享,此時您需要滿足作業間的狀態的兼容性。例如,進行雙跑測試。 | |
配置作業快照自動清理規則 | 如果您需要系統可以自動清理作業快照,不再人工手動刪除快照,則可以配置作業快照保存個數或是保存時間信息。保存該規則后,作業運行過程中,系統會根據此規則自動清理快照。 說明
| |
手動刪除指定作業快照 | 作業停止前不再自動刪除您手動創建的作業快照,因此您需要定時刪除過時的作業快照。否則會導致不必要的OSS存儲空間占用,進而引發不必要的存儲費用。 | |
設置State相關參數 | 設置流狀態存儲系統、SQL作業的State TTL和作業快照過程中產生的臨時數據是否儲存在本地磁盤等相關參數。 |
手動創建作業快照
僅運行中的作業支持手動創建作業快照。
進入目標作業快照創建界面。
登錄實時計算控制臺。
單擊對應工作空間操作列下的控制臺。
在 頁面,單擊目標作業名稱。
在頁面右上角,單擊創建快照。
選擇快照格式,并填寫快照描述。
單擊創建。
配置定時自動創建作業快照
進入狀態集管理入口。
登錄實時計算控制臺。
單擊對應工作空間操作列下的控制臺。
在 頁面,單擊目標作業名稱。
單擊狀態集管理。
在配置頁簽,打開作業快照定時自動生成開關,并設置周期。
您可以單擊快捷設置,直接選擇合適的時間周期,也可以利用Cron表達式手動填寫周期信息。即先單擊目標域,然后修改對應的取值。依次修改完所有的域值。Cron表達式中5個域的取值及支持的特殊字符如下表所示。
域
是否必須
取值范圍
特殊字符
分鐘
是
[0, 59]
* , - /
小時
是
[0, 23]
* , - /
日
是
[1, 31]
* , - /
月
是
[1, 12]或[JAN, DEC]
* , - /
周
是
[1, 7]或[MON, SUN]。
說明如果您使用[1, 7]表達方式,1代表星期一,7代表星期日。
* , - /
說明最小間隔為10分鐘。如果輸入的Cron表達式小于10分鐘,則系統默認按10分鐘觸發。
每個域都支持一定數量的特殊字符,每個特殊字符有其特殊含義,詳情如下表所示。
特殊字符
含義
示例
*
所有可能的值。
在月域中,
*
表示每個月;在星期域中,*
表示星期的每一天。,
列出枚舉值。
在分鐘域中,
5,20
表示分別在5分鐘和20分鐘觸發一次。-
范圍。
在分鐘域中,
5-20
表示從5分鐘到20分鐘之間每隔一分鐘觸發一次。/
指定數值的增量。
在分鐘域中,
0/15
表示從第0分鐘開始,每15分鐘觸發一次。在分鐘域中3/20
表示從第3分鐘開始,每20分鐘觸發一次。以下為Cron表達式的取值示例。
示例
說明
15 10 * * *
每天上午10:15執行任務。
0 12 * * *
每天中午12:00執行任務。
0 10,14,16 * * *
每天上午10:00點、下午14:00以及下午16:00執行任務。
0/30 9-17 * * *
每天上午09:00到下午17:00時間段內每隔半小時執行任務。
* 14 * * *
每天下午14:00到下午14:59時間段內每隔1分鐘執行任務。
0-5 14 * * *
每天下午14:00到下午14:05時間段內每隔1分鐘執行任務。
0/5 14 * * *
每天下午14:00到下午14:55時間段內每隔5分鐘執行任務。
0/5 14,18 * * *
每天下午14:00到下午14:55、下午18:00到下午18:55時間段內每隔5分鐘執行任務。
0 12 * * WED
每個星期三中午12:00執行任務。
15 10 15 * *
每月15日上午10:15執行任務。
10,44 14 * 3 WED
每年3月的每個星期三下午14:10和14:44執行任務。
單擊保存更改。
查看狀態生成總覽
進入狀態集管理入口。
登錄實時計算控制臺。
單擊對應工作空間操作列下的控制臺。
在 頁面,單擊目標作業名稱。
單擊狀態集管理。
在總覽頁簽,查看以下信息。
類別
總覽信息
系統檢查點
可以查看上次成功和失敗的系統檢查點信息,包括ID、完成時間、持續時間和全量存儲大小。
作業快照
可以查看上次成功和失敗的作業快照信息,包括快照ID、完成時間、持續時間或失敗時間。
從(其他作業)指定快照恢復作業
僅已停止的作業支持從指定快照恢復作業。如果您的作業為運行中,則需要先停止作業。
配置作業快照自動清理規則
進入狀態集管理入口。
登錄實時計算控制臺。
單擊對應工作空間操作列下的控制臺。
在 頁面,單擊目標作業名稱。
單擊狀態集管理。
在配置頁簽,打開作業快照定時自動清理開關,配置定時自動清理規則。
您可以配置歷史快照保存個數和歷史快照保存最長時間。滿足個數和保存時長任意一個條件,Flink作業運行中即會進行快照清理。
單擊保存更改。
手動刪除指定作業快照
進入狀態集管理入口。
登錄實時計算控制臺。
單擊對應工作空間操作列下的控制臺。
在 頁面,單擊目標作業名稱。
單擊狀態集管理。
在歷史頁簽,作業快照列表中,找到目標快照。
在目標快照的操作列,選擇 。
單擊確定。
設置State相關參數
進入目標作業運維頁面。
登錄實時計算控制臺。
單擊對應工作空間操作列下的控制臺。
在 頁面,單擊目標作業名稱。
在部署詳情頁簽,單擊運行參數配置區域右側的編輯。
在其他配置中,添加代碼后保存生效,代碼示例如下。
state.backend.incremental: true table.exec.state.ttl: 129600000
Flink可以設置的基礎參數和高級參數詳情請參見企業級狀態后端存儲配置。
相關文檔
實時計算Flink版系統檢查點或作業快照相關的常見問題,請參見系統檢查點或作業快照。
SQL修改所造成的兼容性影響詳情,請參見SQL修改及兼容性。