排解 Connect 叢集和連接器問題

本文提供 Connect 叢集和連接器的疑難排解指南。

已卸離狀態

連結叢集可能處於 DETACHED 狀態。這個狀態表示基礎 Kafka 叢集已刪除或正在刪除中。由於 Kafka Connect 會將所有狀態儲存在 Kafka 上,因此 Connect 叢集會永久停止。Connect 叢集無法重新附加,因此應刪除這個叢集。

每個叢集的限制

如果單一 Connect 叢集嘗試管理過多 Connect 工作,可能會沒有回應。為避免發生這個問題,請遵守下列限制:

  • Connect 叢集最多可有 20 個連接器。
  • 每個連結器最多可有 200 個工作。

如需更多連接器,可以將第二個 Connect 叢集附加至同一個 Kafka 叢集。

排解連接器問題

如果連接器無法啟動或執行失敗,運作狀態會顯示為 Failed。連接器執行時也可能發生錯誤,這些錯誤會顯示在連接器記錄中。

如要排解連接器問題,請按照下列步驟操作。

  1. 查看連接器記錄,找出錯誤。詳情請參閱「查看連接器記錄」。

  2. 找出錯誤的根本原因。以下主題說明各連接器類型可能發生的特定錯誤:

  3. 如果連接器設定有誤,請更新連接器的設定,然後繼續執行連接器。暫時性故障可能不需要變更設定。

最佳做法是設定連接器的工作重新啟動政策,以指數輪詢方式重新啟動。這項設定有助於避免因暫時性錯誤而導致連接器故障。

Connect 叢集錯誤

本節說明 Connect 叢集可能發生的錯誤。

中繼資料主題有 'cleanup policy=delete'

Connect 叢集記錄會顯示類似下列的錯誤:

org.apache.kafka.common.config.ConfigException: Topic 'connect-offsets-
PROJECT_ID-LOCATION-CONNECT_CLUSTER_NAME-UNIQUE_ID' supplied via the
'offset.storage.topic' property is required to have 'cleanup policy=compact' to
guarantee consistency and durability of source connector offsets, but found the
topic currently has 'cleanup policy=delete'.

發生這項錯誤的原因可能如下:

  • Connect 叢集的主要 Kafka 叢集已刪除,然後以相同名稱重新建立。
  • Connect 叢集在主要 Kafka 叢集中建立的中繼資料主題已刪除。

如要解決這項錯誤,請按照下列步驟操作:

  1. 在主要 Kafka 叢集中找出中繼資料主題。中繼資料主題的命名格式如下:

    connect-status-PROJECT_ID-LOCATION-CONNECT_CLUSTER_NAME-UNIQUE_ID

    例如:

    connect-status-project1-us-central1-connect1-3c563900-a4e4-4eDe-88f7-73b16d6344d2

  2. 針對每個中繼資料主題,編輯主題並將鍵/值組合 cleanup.policy:compact 新增至「Non-default parameters」(非預設參數) 欄位。詳情請參閱「更新 Kafka 主題」。

後續步驟