Je souhaite créer un connecteur à l'aide de MSK Connect, mais je reçois un message d'erreur. Comment puis-je résoudre ce problème ?

Dernière mise à jour : 07/12/2021

Je souhaite créer un connecteur à l'aide d'Amazon Managed Streaming for Apache Kafka (Amazon MSK) Connect. Cependant, je reçois un message d'erreur. Comment puis-je résoudre ce problème ?

Solution

Lorsque vous créez un connecteur à l'aide de MSK Connect, l'un des messages d'erreur suivants peut s'afficher :

  • « Paramètre non valide connectorConfiguration : le champ requis suivant est manquant ou présente une valeur non valide : tasks.max »
  • « org.apache.kafka.connect.errors.ConnectException : impossible de trouver une classe qui implémente Connector et dont le nom correspond… »
  • « org.apache.kafka.common.errors.TimeoutException : délai d'attente dépassé pour envoyer l'appel. Appel : fetchMetadata »
  • « org.apache.kafka.common.errors.SaslAuthenticationException : connexions trop nombreuses »

« Paramètre non valide connectorConfiguration : le champ requis suivant est manquant ou présente une valeur non valide : tasks.max »

Si vous utilisez un caractère de retour chariot (/r) à la fin d'une configuration, l'erreur suivante apparaît :

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

Pour résoudre ce problème, procédez comme suit :

  • Plutôt que d'effectuer un copier-coller à partir d'une autre source (par exemple un document), saisissez manuellement les informations de configuration dans la boîte de dialogue de configuration du connecteur.
  • Si vous travaillez sous un système d'exploitation Windows, ouvrez un éditeur de texte (tel que Notepad++). Ensuite, vérifiez et supprimez les caractères de retour chariot (CRLF) et de fin de ligne (EOL). Pour effacer le retour chariot, copiez et collez la configuration dans un éditeur de texte. Cliquez sur Affichage, Symboles spéciaux, puis sélectionnez Afficher tous les caractères pour détecter les symboles CRLF ou EOL éventuellement présents dans la configuration. Remplacez tous les caractères CRLF (« \ r\n ») par des caractères LF (« \n »).

« org.apache.kafka.connect.errors.ConnectException : impossible de trouver une classe qui implémente Connector et dont le nom correspond… »

Pour résoudre ce problème, procédez comme suit :

  • Supprimez tous les caractères de retour chariot (/r) présents dans la configuration du connecteur.
  • Si plusieurs fichiers sont nécessaires pour le plugin de connecteur, veillez à ce qu'ils soient inclus dans votre archive ZIP (ce fichier compressé est utilisé lors de la création du plugin de connecteur.) Les fichiers JAR contenus dans l'archive ZIP doivent également posséder la structure de fichiers attendue pour ce plugin. Nous vous conseillons de vérifier la définition de la structure des fichiers en consultant et en activant les journaux pour MSK Connect.

« org.apache.kafka.common.errors.TimeoutException : délai d'attente dépassé pour envoyer l'appel. Appel : fetchMetadata »

Lorsque le connecteur ne parvient pas à joindre votre cluster Amazon MSK, vous recevez une erreur TimeoutException. Pour résoudre ce problème, vérifiez que le groupe de sécurité de votre cluster Amazon MSK autorise le trafic entrant du groupe de sécurité du client (associé à Amazon MSK Connect). Si vous utilisez un cluster Amazon MSK, pensez à ajouter une règle qui autorise le trafic entrant issu de ce cluster. Pour plus d'informations sur la configuration de ces règles, consultez la section Règles du groupe de sécurité.

« org.apache.kafka.common.errors.SaslAuthenticationException : connexions trop nombreuses »

Si votre cluster MSK s'exécute sur un agent de type kafka.t3.small avec un contrôle d'accès AWS Identity Access Management (IAM), sachez qu'il existe une limite de connexion. Les instances kafka.t3.small n'acceptent qu'une connexion TCP par agent et par seconde. Au-delà de ce seuil de connexion, votre test de création échoue. Vous recevez donc une erreur SaslAuthenticationException indiquant des informations d'identification non valides. Pour plus d'informations sur les clusters Amazon MSK et le contrôle d'accès IAM, consultez la rubrique Fonctionnement d'Amazon MSK avec IAM.

Pour résoudre l'erreur SaslAuthenticationException, essayez l'une des méthodes suivantes :

  • Dans la configuration de votre « worker » Amazon MSK Connect, définissez les valeurs reconnect.backoff.ms et reconnect.backoff.max.ms sur « 1000 » ou plus.
  • Passez à un type d'instance d'agent plus large (p. ex. kafka.m5.large ou supérieur). Pour plus d'informations sur les types d'agents Amazon MSK et le choix de l'élément adapté, consultez les rubriques Types d'agents et Taille adéquate de votre cluster.

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?