本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對 Amazon MSK Connect 中的問題進行故障診斷
下列資訊有助您針對使用 MSK Connect 時可能發生的問題,進行疑難排解。您也可以將問題張貼到 AWS re:Post
連接器無法存取在公用網際網路上託管的資源
請參閱啟用 Amazon MSK Connect 的網際網路存取。
連接器的執行中任務數量不等於 tasks.max 中指定的任務數量
以下是連接器使用的任務數量少於 tasks.max 組態所指定數量的一些原因:
部分連接器實作會限制可用的任務數量。例如,MySQL 的 Debezium 連接器僅限使用單一任務。
在使用自動調整規模容量模式時,Amazon MSK Connect 會以與連接器中執行的工作程序數量和每個工作程序的 MCU 數量成比例的值,來覆寫連接器的 tasks.max 屬性。如果您已設定選用
maxAutoscalingTaskCount參數,則tasks.max值不會超過此限制。如需詳細資訊,請參閱了解自動擴展任務計數上限。針對目的地連接器,平行處理數量 (任務數量) 不得超過主題分區的數量。雖然您可以將 tasks.max 設定為大於該值,但單一分區一次不會被多個任務處理。
在 Kafka Connect 2.7.x 中,預設的取用者分區指派者是
RangeAssignor。此指派者的行為是將每個主題的第一個分區提供給單一取用者、將每個主題的第二個分區提供給單一取用者等。這表示使用RangeAssignor之目的地連接器的作用中任務數量上限會等於任何單一主題中所取用的分區數量上限。若這不適用於您的使用案例,則您應該建立工作程序組態,並在其中將consumer.partition.assignment.strategy屬性設定為更適合的取用者分區指派者。請參閱 Kafka 2.7 Interface ConsumerPartitionAssignor:All Known Implementing Classes。
連接器重新啟動操作達到 RESTART_FAILED 狀態
如果重新啟動操作達到 RESTART_FAILED 狀態,請嘗試下列動作來解決問題:
如需詳細資訊,請檢查
DescribeConnectorOperation回應中的errorInfo欄位。檢閱來自 CloudWatch、Amazon S3 或 Firehose 的連接器日誌,以取得錯誤訊息,指出任務無法完成啟動的原因。
檢查連接器的任務是否被外部相依性 (資料庫、網路端點或連接器互動的其他系統) 封鎖。
確認連接器的 Kafka 叢集可連線且運作狀態良好。
無法重新啟動連接器 — 400 BadRequestException
以下是您可能無法重新啟動連接器的一些原因:
連接器未處於
RUNNING狀態 (例如,它是CREATING、UPDATING或DELETING)。連接器上的另一個生命週期操作已在進行中。
您使用 3.7 以前的 Amazon MSK 版本在連接器
--only-failed-tasks上指定 (此功能需要 3.7 版或更新版本)。連接器是在重新啟動功能可用之前建立的。目前僅新建立的連接器支援此功能。