在使用Realtime Compute Flink 版時,如果上下遊組件發生變更配置操作 (如增減分區、配置升級、節點擴縮容等,但不包括版本升級或叢集遷移等操作),對於已運行中的作業,不同連接器的響應行為、注意事項以及操作建議。
連接器行為與操作建議
Flink 的 Failover 是指當 Flink 作業運行過程中發生故障(如任務失敗、節點宕機等)時,系統自動回復作業的能力。Failover 的目標是確保作業能夠在發生故障後繼續運行,並儘可能保證資料處理的正確性和一致性。
連接器 | 連接器響應行為與注意事項 | 操作建議 | 寫入是否依賴Checkpoint |
Kafka分區增加後,Flink也會動態捕捉到分區變動。但是如果並發度與分區數不是倍數關係,可能導致分區分配不均。 | 先增加Kafka分區再合理調整並發度與分區保持倍數關係,保證分區消費均勻分配。例如分區數由3增加到8,可以調整並發度為4或者8。 | exactly once 語義依賴 | |
擴縮容或重啟執行個體的過程中,會出現無法串連的情況,重試一定次數後,逾時則會Failover,直到執行個體重啟成功。 | 當前的Hologres源表根據tablename讀取,建議無狀態重啟作業,不要複用原來作業狀態啟動。 | 不依賴 | |
| 作業會在Failover後適配分區變化。可以調整分區後,手動重啟避免作業Failover。 | 不依賴 | |
如果擴縮容或重啟執行個體導致資料庫連接不可用,Flink 的 Failover 機制會檢測到串連異常並觸發任務重啟。 在此過程中,如果資料庫的連結地址沒有發生變化且服務仍然可用,連接器會通過其內建的重連機制嘗試重建立立串連,最終使任務成功恢複運行。 說明 工作原理 當連接器遇到外部系統故障時,首先嘗試多次重試。如果重試成功,則任務繼續正常運行,不會觸發 Failover。 如果連接器的重試機制未能解決問題(如外部系統長時間不可用),則連接器會拋出異常,導致任務失敗。此時,Flink 的 Failover 機制會被觸發,按照配置的策略進行任務恢複。 Failover 機制會在任務恢複後重新調度任務,連接器也會再次嘗試與外部系統建立串連。 | 擴縮容時應注意評估作業重啟帶來的影響。
說明 如果是主從切換或叢集需要重啟的情況,可能會造成短暫的串連中斷。如果該行為期間較長,會觸發Failover。如果不想觸發Failover,可以先停止作業,等待變更配置完成後再重啟作業。 | 不依賴 | |
不依賴 | |||
不依賴 | |||
不依賴 | |||
不依賴 | |||
不依賴 | |||
不依賴 | |||
不依賴 | |||
不依賴 | |||
不依賴 | |||
/ | |||
依賴 | |||
exactly once 語義依賴 | |||
降低配置時,如果配置的資源不足以支援當前作業以設定的並發度上傳資料時,會導致一些子任務報錯重試,直到有閒置資源。 | 根據之前的業務流量進行評估來進行降配;或先降低作業的並發度後進行降配。 | Batch Tunnel 模式依賴 | |
暫不支援自動檢查分區變化。 | 手動重啟作業,以適應分區變化。 | 不依賴 | |
支援加減分區的無感擴縮容。調整執行個體規格後會導致短暫閃斷,嘗試重連多次失敗後會導致Failover。 |
| 不依賴 | |
不依賴 | |||
如果 如果設定為true,則根據 |
| 不依賴 | |
| 自動適配可能導致資料重複消費,建議在分區變更前停止作業,並在變更後從Checkpoint啟動以避免問題。 | 依賴 | |
一段時間內連接器沒有資料,且buffer中也無資料發送,則需要依賴Checkpoint寫入 | / | 依賴 | |
擴縮容不影響寫入。 | / | 不依賴 | |
作業讀取階段,如果拓撲改變會造成 | 如果需要升降配,主節點切換或分區叢集中分區的增減等拓撲變化,請停止作業,等待叢集穩定後重啟作業。 | 依賴 | |
通過維護獨立的中繼資料層來描述資料的結構和狀態,不涉及增減分區和節點擴縮容的操作。 | / | 依賴 | |
/ | 依賴 | ||
/ | 依賴 | ||
/ | 依賴 | ||
測試使用。 | / | / | |
/ | / | ||
/ | / | ||
/ | / |