Ich versuche mit MSK Connect einen Connector zu erstellen, aber ich erhalte eine Fehlermeldung. Wie kann ich das beheben?

Letzte Aktualisierung: 12.07.2021

Ich versuche, mit Amazon Managed Streaming for Apache Kafka (Amazon MSK) Connect einen Connector zu erstellen. Ich erhalte jedoch eine Fehlermeldung. Wie kann ich dies beheben?

Auflösung

Wenn Sie mit MSK Connect einen Connector erstellen, wird möglicherweise eine der folgenden Fehlermeldungen angezeigt:

  • "Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max"
  • "org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches..."
  • "org.apache.kafka.common.errors.TimeoutException: Timed out waiting to send the call. Call: fetchMetadata"
  • "org.apache.kafka.common.errors.SaslAuthenticationException: Too many connects"

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

Wenn Sie am Ende einer Konfiguration ein Wagenrücklaufzeichen (/r) verwenden, wird der folgende Fehler angezeigt:

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

Um dieses Problem zu beheben, versuchen Sie Folgendes:

  • Geben Sie die Konfigurations-Informationen manuell in das Konfigurations-Dialogfeld des Connectors ein, anstatt sie aus einer anderen Quelle wie der Dokumentation zu kopieren und einzufügen.
  • Wenn Sie ein Windows-Betriebssystem verwenden, verwenden Sie einen Texteditor (wie Notepad ++). Sie können den Texteditor verwenden, um den Wagenrücklauf (CRLF) und alle Zeilenendezeichen (EOL) zu überprüfen und zu entfernen. Um die Wagenrückführung zu entfernen, kopieren Sie die Konfiguration und fügen sie in einen Texteditor ein. Wählen Sie in Ihrem Texteditor Anzeigen und Symbol einblenden. Wählen Sie dann Alle Charaktere anzeigen, um alle CRLF- oder EOL-Zeichen zu überprüfen, die in einer Konfiguration vorhanden sein könnten. Ersetzen Sie alle CRLF-Zeichen („\r\ n“) durch LF-Zeichen („\n“).

"org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches..."

Um dieses Problem zu beheben, versuchen Sie Folgendes:

  • Entfernen Sie alle Wagenrücklaufzeichen (/r), die in der Connector-Konfiguration vorhanden sein könnten.
  • Wenn für das Connector-Plugin mehrere Dateien erforderlich sind, stellen Sie sicher, dass diese Dateien in Ihrer ZIP-Datei enthalten sind. (Die gezippte Datei wird bei der Erstellung des Connector-Plugins verwendet.) Die JAR-Dateien in der ZIP-Datei müssen auch die erwartete Dateistruktur haben, die für dieses Plugin dokumentiert ist. Es empfiehlt sich, zu überprüfen, ob die Dateistruktur korrekt eingestellt wurde, indem Protokolle für MSK Connect überprüft und aktiviert werden.

"org.apache.kafka.common.errors.TimeoutException: Timed out waiting to send the call. Call: fetchMetadata"

Wenn der Connector Ihren Amazon-MSK-Cluster nicht erreichen kann, erhalten Sie einen TimeOutException-Fehler. Um diesen Fehler zu beheben, überprüfen Sie die Sicherheitsgruppe für Ihren Amazon-MSK-Cluster. Die Sicherheitsgruppe muss eingehenden Datenverkehr von der Sicherheitsgruppe des Clients (verbunden mit Amazon MSK Connect) zulassen. Wenn ein Amazon-MSK-Cluster verwendet wird, fügen Sie eine Regel hinzu, die eingehenden Datenverkehr von sich selbst zulässt. Weitere Informationen zum Einrichten dieser Regeln finden Sie unter Sicherheitsgruppen-Regeln.

"org.apache.kafka.common.errors.SaslAuthenticationException: Too many connects"

Wenn Ihr MSK-Cluster auf einem kafka.t3.small Brokertyp mit AWS Identity Access Management (IAM)-Zugriffskontrolle ausgeführt wird, beachten Sie das Verbindungslimit. Der kafka.t3.small-Instance-Typ akzeptiert nur eine TCP-Verbindung pro Broker pro Sekunde. Wenn dieses Verbindungslimit überschritten wird, schlägt Ihr Erstellungstest fehl. Infolgedessen erhalten Sie einen SaslAuthenticationException-Fehler, der auf einen Fehler mit ungültigen Anmeldeinformationen hinweist. Weitere Informationen zu Amazon-MSK-Clustern und der IAM-Zugriffskontrolle finden Sie unter Funktionsweise von Amazon MSK mit IAM.

Um den Sas-AuthenticationException-Fehler zu beheben, sollten Sie die folgenden Ansätze beachten:

  • Aktualisieren Sie in Ihrer Amazon-MSK-Connect-Worker-Konfiguration die Werte für reconnect.backoff.ms und reconnect.backoff.max.ms auf „1 000" oder höher.
  • Aktualisieren Sie auf einen größeren Broker-Instance-Typ (z. B. kafka.m5.large oder höher). Weitere Informationen zu Amazon-MSK-Brokertypen und zur Auswahl des richtigen Brokertyps finden Sie unter Brokertypen und Richtige Größe Ihres Clusters.