全部產品
Search
文件中心

Realtime Compute for Apache Flink:資料攝入常見問題和解決方案

更新時間:Aug 08, 2025

本文介紹資料攝入作業中的常見問題與解決方案。

快照階段執行Checkpoint時報錯,JobMananger記憶體不足

影響面

  • 此問題影響使用MySQL Source的Flink CDC資料攝入作業。

  • 此問題可能在使用任意Realtime ComputeVVR引擎版本的作業中出現。

異常表現

  • 任務在全量快照階段頻繁異常重啟,查看JobManager日誌可見包含OutOfMemory記憶體不足錯誤棧。

  • 在監控警示介面的資料攝入相關指標中,可以看到“Num of remaining SnapshotSplits”和“Num of processed SnapshotSplits”的總數非常多。

image

異常根因

在MySQL Source執行全量階段快照時,需要將全部分區的中繼資料資訊持久化儲存到狀態中。在作業資料量較大、或是分區大小較小時,JM會切分出產生大量需要讀取的分區,導致出現OutOfMemory的報錯。

解決方案

  • 增大JobManager分配的記憶體資源數量。

  • 調整運行參數 jobmanager.memory.heap.sizejobmanager.memory.off-heap.size,增大JobManager可使用的堆內及堆外記憶體。

作業增量階段從狀態恢複時失敗,JobMananger記憶體不足

影響面

  • 此問題影響使用MySQL Source的Flink CDC資料攝入作業。

  • 此問題影響使用Realtime ComputeVVR 11.1及更低版本的作業。

異常表現

  • 任務已經進入增量階段,但在從狀態中恢複時JobManager報錯,日誌提示記憶體不足。

異常根因

Realtime ComputeVVR 11.1及更低版本引擎在全量切換到增量階段之後,有可能無法正確清理狀態中持久化儲存的表結構資訊,導致從Checkpoint恢複時記憶體不足。

解決方案

  • 升級Realtime ComputeFlink引擎到VVR 11.2或更高版本。

快照即將結束時作業失敗,TaskManager記憶體不足

影響面

  • 此問題影響使用MySQL Source的Flink CDC資料攝入作業。

  • 此問題可能在使用任意Realtime ComputeVVR引擎版本的作業中出現。

異常表現

  • MySQL全量階段即將結束,只剩下少數幾個分區未處理時作業 OOM。

  • 在TaskManager 的日誌中搜尋using select statement關鍵字,發現最後一個無界查詢中包含大量資料。

異常根因

全量階段讀取的時間過長,因此最後一個分區積累了大量需要讀取的增量資料,導致消費該分區資料時記憶體不足。

解決方案

  • 設定MySQL Source的scan.incremental.snapshot.unbounded-chunk-first.enabled: true參數,並重新進行快照。

使用 pt-osc 等無鎖變更工具變更表結構後,無資料輸出

影響面

  • 此問題影響使用MySQL Source的Flink CDC資料攝入作業。

  • 此問題影響使用Realtime ComputeVVR 11.1及更低版本的作業。

異常表現

  • 作業在執行無所表結構變更後持續運行,無異常重啟;

  • 監控警示中的CurrentFetchTimeLag正常推進;

  • MySQL Source無資料輸出,CurrentEmitTimeLag也不再更新。

異常根因

早期版本不支援無鎖表結構變更工具產生的DDL變更事件。

解決方案

  • 升級Realtime ComputeFlink引擎到11.2或更高版本;

  • 設定MySQL Source的scan.parse.online.schema.changes.enabled: true參數。

使用 pt-osc 等無鎖變更工具變更表結構後,作業Failover

影響面

  • 此問題影響使用MySQL Source的Flink CDC資料攝入作業。

  • 此問題影響使用Realtime ComputeVVR 11.1及更低版本的作業。

異常表現

  • 作業在執行無所表結構變更後異常重啟,Transform運算元報錯列類型不符。

異常根因

Realtime ComputeFlink引擎VVR 11.1版本存在已知問題,在無鎖表結構變更的同時插入大量資料,有機率導致下發無法解析的事件。

解決方案

  • 升級Realtime ComputeFlink引擎到11.2或更高版本,並從無鎖表結構變更前的快照重啟。

從表結構變更前的快照恢複作業報錯

影響面

  • 此問題影響使用MySQL Source的Flink CDC資料攝入作業。

  • 此問題影響使用Realtime ComputeVVR 11.1及更低版本的作業。

異常表現

  • 從歷史快照有狀態重啟,且執行快照後又發生了表結構變更。

  • 作業消費Binlog時拋出異常,提示表結構不匹配。

異常根因

Realtime ComputeFlink引擎VVR 11.1及更早版本不支援從表結構不相容的位點做有狀態啟動。

解決方案

升級Realtime ComputeFlink引擎到11.2或更高版本,即可從表結構變更前的快照重啟。