系統檢查點(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可以設定的基礎參數和進階參數詳情請參見企業級狀態後端儲存配置。
相關文檔
Realtime ComputeFlink版系統檢查點或作業快照相關的常見問題,請參見系統檢查點或作業快照。
SQL修改所造成的相容性影響詳情,請參見SQL修改及相容性。