View a markdown version of this page

Résoudre les problèmes liés à Amazon MSK Connect - Amazon Managed Streaming for Apache Kafka

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résoudre les problèmes liés à Amazon MSK Connect

La documentation suivante peut vous aider à résoudre les problèmes que vous pouvez rencontrer lors de l'utilisation de MSK Connect. Vous pouvez également publier votre problème sur AWS re:Post.

Le connecteur ne parvient pas à accéder aux ressources hébergées sur l'Internet public

Consultez Activation de l'accès à Internet pour Amazon MSK Connect.

Le nombre de tâches en cours d'exécution du connecteur n'est pas égal au nombre de tâches spécifié dans tasks.max

Voici quelques raisons pour lesquelles un connecteur peut utiliser moins de tâches que la configuration tasks.max spécifiée :

  • Certaines implémentations de connecteurs limitent le nombre de tâches pouvant être utilisées. Par exemple, le connecteur Debezium pour MySQL est limité à l'utilisation d'une seule tâche.

  • Lorsque vous utilisez le mode de capacité mise à l'échelle automatiquement, Amazon MSK Connect remplace la propriété tasks.max d'un connecteur par une valeur proportionnelle au nombre de workers exécutant le connecteur et au nombre de MCU par worker. Si vous avez configuré le maxAutoscalingTaskCount paramètre facultatif, la tasks.max valeur ne dépassera pas cette limite. Pour plus d'informations, voir Comprendre le nombre maximal de tâches de dimensionnement automatique.

  • Pour les connecteurs récepteurs, le niveau de parallélisme (nombre de tâches) ne peut pas être supérieur au nombre de partitions de rubrique. Bien que vous puissiez définir une valeur supérieure à tasks.max, une seule partition n'est jamais traitée par plus d'une tâche à la fois.

  • Dans Kafka Connect 2.7.x, l'assignateur de partition client par défaut est RangeAssignor. Le comportement de cet assignateur consiste à donner la première partition de chaque rubrique à un seul consommateur, la deuxième partition de chaque rubrique à un seul consommateur, etc. Cela signifie que le nombre maximum de tâches actives utilisées par un connecteur récepteur RangeAssignor est égal au nombre maximal de partitions utilisées dans un même sujet. Si cela ne fonctionne pas pour votre cas d'utilisation, vous devez créer une configuration de worker dans laquelle la propriété consumer.partition.assignment.strategy est définie sur un assignateur de partition consommateur plus approprié. Voir Interface Kafka 2.7 ConsumerPartitionAssignor : toutes les classes d'implémentation connues.

L'opération de redémarrage du connecteur atteint l'état RESTART_FAILED

Si une opération de redémarrage atteint RESTART_FAILED cet état, essayez les solutions suivantes pour résoudre le problème :

  • Consultez le errorInfo champ de la DescribeConnectorOperation réponse pour plus de détails.

  • Consultez les journaux des connecteurs depuis CloudWatch Amazon S3 ou Firehose pour détecter les messages d'erreur indiquant pourquoi les tâches ne peuvent pas terminer le démarrage.

  • Vérifiez si les tâches du connecteur sont bloquées par des dépendances externes (bases de données, points de terminaison réseau ou autres systèmes avec lesquels le connecteur interagit).

  • Vérifiez que le cluster Kafka du connecteur est accessible et en bon état.

Impossible de redémarrer le connecteur — 400 BadRequestException

Voici quelques raisons pour lesquelles il est possible que vous ne puissiez pas redémarrer un connecteur :

  • Le connecteur n'est pas dans RUNNING cet état (par exemple, il l'est CREATINGUPDATING, ouDELETING).

  • Une autre opération du cycle de vie est déjà en cours sur le connecteur.

  • Vous avez spécifié --only-failed-tasks sur un connecteur à l'aide d'une version d'Amazon MSK antérieure à 3.7 (cette fonctionnalité nécessite la version 3.7 ou ultérieure).

  • Le connecteur a été créé avant que la fonctionnalité de redémarrage ne soit disponible. Cette fonctionnalité n'est actuellement prise en charge que pour les connecteurs récemment créés.