我嘗試使用 MSK Connect 建立一個連接器,但收到一個錯誤。我要如何修正此問題?

上次更新日期:2021-12-07

我嘗試使用 Amazon Managed Streaming for Apache Kafka (Amazon MSK) Connect 建立一個連接器。不過,我收到一則錯誤訊息。如何解決此錯誤?

解決方案

使用 MSK Connect 建立連接器時,您可能會收到下列其中一則錯誤訊息:

  • 「connectorConfiguration 參數無效:缺少下列必要欄位或該欄位具有無效值:tasks.max」
  • 「org.apache.kafka.connect.errors.ConnectException:找不到任何類別實作連接器且其名稱符合...」
  • 「org.apache.kafka.common.errors.TimeoutException:等待傳送呼叫時已逾時。呼叫:fetchMetadata」
  • 「org.apache.kafka.common.errors.SaslAuthenticationException:太多連線。」

「connectorConfiguration 參數無效:缺少下列必要欄位或該欄位具有無效值:tasks.max」

如果在組態的尾端使用歸位 (/r) 字元,您會收到下列錯誤:

Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max

若要解決此問題,請嘗試下列動作:

  • 在連接器組態對話方塊中手動輸入組態資訊,而不是從其他來源 (例如文件) 複製組態資訊並貼上。
  • 如果您是在 Windows 作業系統上,請使用文字編輯器 (例如 Notepad++)。您可以使用文字編輯器,檢查並刪除歸位 (CRLF) 字元和任何行尾 (EOL) 字元。若要刪除歸位字元,請複製組態並將其貼至文字編輯器中。從文字編輯器中,選擇 View (檢視) 和 Show Symbol (顯示符號)。然後,選擇 Show All Characters (顯示所有字元),以檢閱組態中可能存在的任何 CRLF 或 EOL 字元。將所有 CRLF 字元 ("\r\n") 取代為 LF 字元 ("\n")。

「org.apache.kafka.connect.errors.ConnectException:找不到任何類別實作連接器且其名稱符合...」

若要解決此問題,請嘗試下列動作:

  • 移除連接器組態中可能存在的所有歸位 (/r) 字元。
  • 如果連接器外掛程式需要多個檔案,請確保您的壓縮檔案中包含這些檔案。(在建立連接器外掛程式期間會使用壓縮檔案。) 壓縮檔案中的 JAR 檔案還必須具備針對該外掛程式記錄的預期檔案結構。最佳實務是透過檢閱並啟用 MSK Connect 的日誌,來確認檔案結構設定正確。

「org.apache.kafka.common.errors.TimeoutException:等待傳送呼叫時已逾時。呼叫:fetchMetadata」

如果連接器無法聯繫您的Amazon MSK 叢集,則您會收到 TimeOutException 錯誤。若要解決此錯誤,請檢查 Amazon MSK 叢集的安全群組安全群組必須允許來自用户端安全群組的入站流量 (與 Amazon MSK Connect 相關聯)。如果正在使用 Amazon MSK 叢集,請確保新增一個規則,允許來自本身的入站流量。如需設定這些規則的詳細資訊,請參閲安全群組規則

「org.apache.kafka.common.errors.SaslAuthenticationException:太多連線。」

如果您的 MSK 叢集正在具有 AWS Identity Access Management (IAM) 存取控制的 kafka.t3.small 代理程式類型上執行,請注意連線限制kafka.t3.small 類型只接受每個代理程式每秒一個 TCP 連線。超過此連線限制時,您的建立測試就會失敗。因此,您會收到一個 SaslAuthenticationException 錯誤,指出憑證無效錯誤。如需 Amazon MSK 叢集和 IAM 存取控制的詳細資訊,請參閲 Amazon MSK 如何使用 IAM

若要解決 SaslAuthenticationException 錯誤,請考慮下列方法:

  • 在您的 Amazon MSK Connect 工作者組態中,將 reconnect.backoff.msreconnect.backoff.max.ms 的值更新為 "1000" 或更高的值。
  • 升級到更大的代理程式執行個體類型 (例如 kafka.m5.large 或更高)。如需 Amazon MSK 代理程式類型和選擇適當的代理程式類型的詳細資訊,請參閲代理程式類型適當調整叢集大小