整庫離線同步任務涉及結構遷移、全量同步、離線增量同步處理等多個階段,表數量多、調度執行個體密集,營運複雜度高。本文介紹整庫離線同步任務的啟動停止、配置修改、重跑補資料等核心營運操作,提供排查方法和調優建議,協助高效管理整庫離線同步任務的生命週期。關於整庫離線同步任務的配置流程,請參見整庫離線同步任務配置。
適用範圍
在排查整庫離線同步任務問題之前,先按任務形態、通道能力和排查重點進行判斷,確認本文適用於當前情境。
判斷項 | 適用口徑 | 不適用/重點看 |
任務形態 | 整庫或多表離線批量同步:一次性全量、周期全量、周期性增量(使用欄位值配置增量條件) | 即時 CDC 或訊息消費任務,不適用離線排查方法 |
典型通道 | 源端:資料庫、數倉、檔案類離線讀 目標端:MaxCompute、Hologres、Hive、DLF、Elasticsearch、StarRocks 等 | 沒有穩定增量欄位時,請不要按離線增量預期處理 |
排查重點 | 調度執行個體、業務日期、WHERE 條件、splitPk、源端分區、欄位對應、目標資料分割、寫入模式、重跑等冪 | 不看即時位點和 Failover |
整庫離線同步依賴離線讀寫能力,不依賴 Binlog、WAL、Oplog,也沒有即時位點恢複語義。
任務階段
整庫離線同步任務通常包含以下階段,每個階段的營運重點不同。
階段 | 說明 | 營運重點 |
結構遷移 | 從源端讀取表結構,在目標端建立或更新表 | 中繼資料許可權、目標端建表許可權、欄位類型映射、表名映射 |
一次性全量 | 將源端歷史資料批量寫入目標端 | 切分鍵、離線並發、源端串連數、目標端寫入能力、資源規格 |
周期離線增量 | 按調度周期同步新增或變化資料 | 調度時間、上遊依賴、業務日期參數、目標資料分割、輸出名稱 |
離線增量同步處理依賴可用於識別增量資料的欄位,例如更新時間欄位或自增欄位。如果源表沒有穩定的增量欄位,通常只能選擇周期性全量或改造源表後再配置離線增量。
整庫離線任務通常會產生多個離線子任務。表數量越多,調度執行個體、資源佔用和目標端寫入壓力越明顯。
營運操作
啟動和停止
一次性全量任務提交後,重點觀察全量子任務是否都正常運行。周期離線任務還需要關注調度執行個體是否按預期產生、是否滿足上遊依賴、業務日期是否正確。
停止任務前,確認是否已有部分表或分區寫入目標端。寫入目標端的任務如果使用覆蓋或清理分區策略,重跑時需要注意等冪性和並發覆蓋問題。
關於通用的任務調度與管理操作(如暫停、恢複、補資料等),請參見離線同步任務營運。
修改配置
整庫離線任務常見的修改包括新增表、刪除表、調整表映射、調整分區規則、調整調度配置、調整並發和資源。
變更類型 | 風險點 | 建議 |
新增表 | 新增表需要結構遷移和調度執行個體產生 | 提交後檢查新增表是否產生對應離線任務或執行個體 |
刪除表 | 可能影響已有調度節點和下遊依賴 | 刪除前確認下遊不再依賴對應輸出 |
修改分區規則 | 可能導致寫入新分區或覆蓋錯誤分區 | 提交前確認業務日期參數和目標資料分割運算式 |
修改調度 | 可能影響上遊依賴和下遊產出時間 | 修改後檢查周期執行個體是否按新時間產生 |
調整並發和資源 | 可能增加源端串連、目標端寫入和資源群組壓力 | 逐步調整,觀察源端、目標端和資源群組負載 |
重跑和補資料
整庫離線任務常通過重跑或補資料修複目標端缺失分區。執行前需要確認以下內容:
需要修複的表和業務日期範圍。
目標端寫入模式(追加、覆蓋或清理後寫入)。
是否存在其他執行個體正在寫同一目標表或分區。
下遊任務是否已經消費了錯誤資料。
重跑後是否需要觸發下遊重跑。
如果目標端寫入模式會清理分區,不建議多個任務同時操作同一分區。必要時先暫停衝突執行個體或錯開執行時間。
關於補資料功能的使用,請參見補資料執行個體營運。
排查方法
表映射重新整理失敗或表不可選
常見原因包括源端許可權不足、資源群組網路不通、源端中繼資料量過大、庫表過濾範圍過大、已選表過多、目標端許可權不足。排查順序如下:
使用任務配置中的資源群組重新測試源端和目標端連通性。
確認源端帳號具備讀取庫表和欄位中繼資料許可權。
如果庫表過濾範圍較大或已選表較多,先縮小範圍驗證。
檢查目標端帳號是否具備建表或寫入許可權。
檢查源端表數量過多時是否存在中繼資料介面逾時。
結構遷移失敗
結構遷移失敗時,優先檢查目標端建表許可權、目標庫或 Schema 是否存在、欄位類型是否相容、表名映射是否衝突。分區表情境還需要確認分區欄位、分區層級和分區運算式是否符合目標端限制。
全量任務運行慢
排查項 | 判斷方法 | 處理建議 |
源端查詢慢 | 源庫 CPU、IO、慢 SQL、鎖等待較高 | 最佳化源端查詢,避開業務高峰,必要時降低並發 |
切分不均 | 少數子任務耗時明顯更長 | 選擇更合適的切分鍵,或拆分大表單獨處理 |
並發過低 | 源端和目標端負載較低但吞吐低 | 逐步增加離線並發和資源規格 |
串連數不足 | 日誌提示串連或 Quota 不足 | 增加源端最大串連數或資料來源配額,同時觀察源庫穩定性 |
目標端寫入慢 | 目標端限流、分區過多、批量提交慢 | 先處理目標端資源、限流和分區設計 |
資源不足 | CPU、記憶體、網路接近上限 | 增加資源規格或 CU,觀察 GC 和失敗率 |
整庫離線調優時,不建議一開始就大幅增加並發。並發增加後,源端串連數、目標端寫入壓力和資源群組消耗都會上升。如果瓶頸在源端或目標端,增加並發通常只會放大問題。
關於通用資料同步慢情境的解決方案,請參見離線同步提速或限速。
周期執行個體未產出
周期離線執行個體未產出或產出異常時,按以下順序檢查:
周期調度是否啟用,調度時間是否符合預期。
上遊依賴是否完成。
業務日期參數是否正確。
輸出名稱和目標資料分割運算式是否正確。
目標端是否存在寫入失敗或許可權問題。
下遊是否依賴了錯誤的輸出或分區。
離線增量執行個體依賴增量條件和調度參數共同決定資料範圍,排查周期執行個體時,需要同時檢查增量條件欄位是否存在、欄位類型是否可比較、調度參數是否正確傳入目標資料分割或where過濾條件。
調優建議
調優項 | 建議 |
總資源 CU | 表數量多或並行子任務多時增加總資源;目標端或源端限流時單獨增加 CU 效果有限 |
單任務 CU | 寬表、大欄位或單表資料量大時可提高單任務資源 |
離線並發 | 按源端串連承載和目標端寫入能力逐步增加 |
源端最大串連數 | 與離線並發配合調整;設定過大可能影響源庫穩定性 |
限速配置 | 如果限速開啟,會主動壓低吞吐;調優前先確認是否需要關閉或提高限速 |
分區設計 | 避免過細分區導致小檔案、分區過多或寫入開銷過大 |
對於大量表的整庫離線任務,建議把大表、寬表和普通小表分開觀察。少數大表可能決定整體完成時間,平均吞吐不能反映真實瓶頸。
關於並發和限流的關係,請參見離線同步並發和限流關係。
警示和監控
整庫離線任務主要關注調度和離線執行個體警示。警示通常需要在營運中心找到產生的周期子任務或離線執行個體後配置,不應只依賴解決方案總任務狀態。
建議配置以下警示規則:
執行個體失敗:任務執行失敗時立即警示。
執行個體逾時:任務運行超過預期時間時警示。
上遊依賴未完成:依賴的上遊任務未按時完成。
周期執行個體未產生:調度周期到達後未產生執行個體。
目標資料分割未產出:預期的目標資料分割未按時產出。
源端或目標端串連失敗:資料來源串連異常。
如果整庫離線任務對下遊時效敏感,應配置執行個體逾時和產出校正。只配置失敗警示,無法發現任務長時間運行但未及時產出的情況。
關於警示規則的具體配置方法,請參見整庫離線同步任務配置 > 步驟六:配置警示規則。
高風險操作檢查清單
執行大範圍重跑、補資料、刪除表、修改分區規則或大幅調高並發前,確認以下內容:本次操作涉及哪些表和業務日期、目標端寫入模式是否會覆蓋或清理分區、是否存在其他執行個體正在寫同一目標表或分區、下遊是否已消費相關資料、源端和目標端是否能承受更高並發、是否需要重跑下遊任務。
常見問題
以下問題主要來自整庫周期任務的歷史排查沉澱。排查時先確認任務類型、源端和目標端,再按頁面配置、調度執行個體、作業記錄和目標端結果交叉驗證。
刪除表後又加回,舊增量執行個體是否會停止?
排查方式:刪除表並應用程式更新後,後續周期調度節點會被下線。已經產生或正在啟動並執行執行個體不應預設認為會自動停止。
應對措施:需要立即停止寫入時,在營運中心確認對應周期執行個體狀態,必要時手動停止或暫停相關執行個體,再執行加表、重跑或補資料。
新增表後目標 Schema 或庫名不符合預期
排查方式:檢查 Schema、庫名或表名映射規則是否發生變化,確認新增表是否走了預設映射。
應對措施:檢查並配置 Schema、庫名或表名映射規則,避免新增表落到不同目標位置。
表映射重新整理慢、逾時或表不可選
排查方式:排查資源群組連通性、源端中繼資料查詢耗時、已選表數量、源端帳號許可權。
應對措施:先縮小庫表範圍驗證,檢查資料來源串連參數和源端中繼資料查詢效能。對象不可選時以頁面支援範圍為準。
周期增量條件運行結果與配置不一致
排查方式:確認增量條件是否被修改過、調度參數按業務日期還是已耗用時間計算、目標資料分割與過濾條件是否使用同一套參數。
應對措施:同時檢查增量條件、調度參數和目標資料分割運算式。補資料時確認業務日期範圍。
周期執行個體一直等待上遊
排查方式:檢查是否在進階參數中配置了額外上遊節點 ID 或上遊節點名稱規則。
應對措施:清空不需要的上遊依賴配置,重新發布後再觀察執行個體依賴關係。
目標資料分割未產出或寫入分區異常
排查方式:確認分區列是否真實存在、分區運算式是否正確、分區層級、大小寫和空格是否符合目標端要求。
應對措施:核對目標表中繼資料和周期參數,必要時先用單表或少量表驗證分區寫入。
下遊輸出名衝突或包含特殊字元
排查方式:檢查調度節點輸出名稱規則是否產生重複輸出,是否包含目標調度不支援的特殊字元。
應對措施:調整輸出名稱規則,避免使用 $ 等特殊字元。儲存發布後檢查下遊依賴。
視圖或特殊對象不可選
排查方式:確認源端物件類型是否被當前整庫離線通道支援。
應對措施:以頁面可選對象為準。不支援時改用單表離線同步,或將視圖結果落成物理表後再同步。
splitPk 不生效或切分不均
排查方式:確認切分欄位類型是否被資料來源和通道支援、資料分布是否均勻、是否存在大量空值。
應對措施:換用支援且分布更均勻的切分欄位。大表可單獨拆出調優。
關於切分鍵的限制說明,請參見整庫離線同步任務配置 > 配額與限制。
瞭解更多
整庫離線同步任務配置 — 整庫離線同步任務的完整配置流程
離線同步提速或限速 — 通用資料同步慢情境的解決方案
離線同步並發和限流關係 — 通道控制中並發和限流的配置說明