Sto cercando di creare un connettore utilizzando MSK Connect, ma viene visualizzato un errore. Come posso risolvere il problema?

Ultimo aggiornamento: 07/12/2021

Sto cercando di creare un connettore utilizzando Amazon Managed Streaming for Apache Kafka (Amazon MSK) Connect. Tuttavia, viene visualizzato un messaggio di errore. Come posso risolvere questo problema?

Risoluzione

Quando si crea un connettore utilizzando MSK Connect, è possibile che venga visualizzato uno dei seguenti messaggi di errore:

  • "Parametro connectorConfiguration non valido: il seguente campo obbligatorio è mancante o ha un valore non valido: tasks.max"
  • "org.apache.kafka.connect.errors.ConnectException: impossibile trovare una classe che implementi Connector e il cui nome corrisponda..."
  • "org.apache.kafka.common.errors.TimeoutException: scaduto in attesa di inviare la chiamata. Chiamata: fetchMetadata"
  • "org.apache.kafka.common.errors.SaslAuthenticationException: troppe connessioni"

"Parametro connectorConfiguration non valido: il seguente campo obbligatorio è mancante o ha un valore non valido: tasks.max"

Se utilizzi un carattere (/r) di ritorno a capo alla fine di una configurazione, viene visualizzato il seguente errore:

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

Per risolvere l'errore, prova la seguente operazione:

  • Inserisci manualmente le informazioni di configurazione nella finestra di dialogo di configurazione del connettore invece di copiare e incollare da un'altra fonte, ad esempio la documentazione.
  • Se utilizzi un sistema operativo Windows, usa un editor di testo (ad esempio Notepad++). È possibile utilizzare l'editor di testo per controllare e rimuovere il ritorno a capo (CRLF) e qualsiasi carattere di fine riga (EOL). Per rimuovere il ritorno a capo, copia e incolla la configurazione in un editor di testo. Dal tuo editor di testo, scegli View (Visualizza) e Show Symbol (Mostra simbolo). Quindi, scegli Show All Characters (Mostra tutti i caratteri) per verificare i caratteri CRLF o EOL che potrebbero essere presenti in una configurazione. Sostituisci tutti i caratteri CRLF ("\r\n") con caratteri LF ("\n").

"org.apache.kafka.connect.errors.ConnectException: impossibile trovare una classe che implementi Connector e il cui nome corrisponda..."

Per risolvere l'errore, prova la seguente operazione:

  • Rimuovi tutti i caratteri (/r) di ritorno a capo che potrebbero essere presenti nella configurazione del connettore.
  • Se sono necessari più file per il plug-in del connettore, assicurati che questi file siano inclusi nel file compresso. (Il file compresso viene utilizzato durante la creazione del plug-in del connettore.) Anche i file JAR nel file compresso devono avere la struttura del file prevista documentata per quel plug-in. È consigliabile confermare che la struttura del file sia stata impostata correttamente verificando e abilitando i registri per MSK Connect.

"org.apache.kafka.common.errors.timeoutException: scaduto in attesa di inviare la chiamata. Chiamata: fetchMetadata"

Se il connettore non è in grado di raggiungere il tuo cluster Amazon MSK, riceverai un errore TimeoutException. Per risolvere questo errore, controlla il gruppo di sicurezza per il tuo cluster Amazon MSK. Il gruppo di sicurezza deve consentire il traffico in entrata dal gruppo di sicurezza del client (associato ad Amazon MSK Connect). Se viene utilizzato un cluster Amazon MSK, assicurati di aggiungere una regola che consenta il traffico in entrata da se stesso. Per ulteriori informazioni sull'impostazione di queste regole, vedere Regole del gruppo di sicurezza.

"org.apache.kafka.common.errors.SaslAuthenticationException: troppe connessioni"

Se il tuo cluster MSK è in esecuzione su un tipo di broker kafka.t3.small con il controllo degli accessi AWS Identity Access Management (IAM), fai attenzione al limite di connessioni. Il tipo di istanza kafka.t3.small accetta esclusivamente una connessione TCP per broker al secondo. Quando questo limite di connessione viene superato, il test di creazione fallisce. Di conseguenza, viene visualizzato un errore SaslAuthenticationException, che indica un errore di credenziali non valide. Per maggiori informazioni sui cluster Amazon MSK e sul controllo degli accessi IAM, consulta Come Amazon MSK funziona con IAM.

Per risolvere l'errore SaslAuthenticationException, considera i seguenti approcci:

  • Nella configurazione del dipendente di Amazon MSK Connect, aggiorna i valori per reconnect.backoff.ms e reconnect.backoff.max.ms a "1000" o superiore.
  • Richiedi un upgrade a un tipo di istanza broker più grande (ad esempio kafka.m5.large o superiore). Per maggiori informazioni sui tipi di broker Amazon MSK e sulla scelta del tipo di broker giusto, consulta Tipi di broker e Dimensiona correttamente il tuo cluster.