Résoudre les problèmes liés à un connecteur MirrorMaker 2.0

Ce document fournit des conseils de dépannage pour les problèmes courants rencontrés lors de l'utilisation d'un connecteur MirrorMaker 2.0.

Erreurs courantes de MirrorMaker 2.0

Cette section liste les erreurs courantes que vous pouvez rencontrer lorsque vous utilisez un connecteur MirrorMaker 2.0.

Délai d'attente d'attribution d'un nœud dépassé

Si le cluster Connect ne peut pas accéder au cluster Kafka, l'erreur suivante s'affiche :

Timed out waiting for a node assignment.

Voici les causes possibles de cette erreur :

  • Le cluster Connect ne peut pas s'authentifier auprès du cluster Kafka. Vérifiez les paramètres d'authentification dans la configuration du connecteur. Pour en savoir plus, consultez Créer un connecteur MirrorMaker 2.0.

  • Un problème de réseau empêche le cluster Connect d'atteindre le cluster Kafka. Suivez la procédure décrite dans Résoudre les problèmes de réseau.

Échec de la résolution DNS

Si le cluster Connect ne parvient pas à résoudre l'adresse d'amorçage, l'erreur suivante s'affiche :

No resolvable bootstrap urls given in bootstrap.servers

Vous pouvez également obtenir une erreur semblable à celle-ci :

Couldn't resolve server BOOTSTRAP_ADDRESS from bootstrap.servers as DNS resolution failed for BOOTSTRAP_ADDRESS

Pour résoudre ce problème, commencez par vérifier que l'adresse d'amorçage est correcte. Si c'est le cas, suivez les étapes décrites dans Dépanner la résolution de nom de domaine.

Identifiants incorrects

Si le cluster Connect ne parvient pas à s'authentifier auprès de l'un des clusters Kafka, une erreur semblable à la suivante s'affiche :

org.apache.kafka.clients.NetworkClient processDisconnection
SEVERE: [AdminClient clientId=source->target|mm2|offset-syncs-source-admin] Connection to
node 11 (broker-1.BOOTSTRAP_ADDRESS/IP_ADDRESS:9092) failed authentication due to: Authentication
failed during authentication due to invalid credentials with SASL mechanism OAUTHBEARER

Voici les causes possibles de cette erreur :

  • Le compte de service Managed Kafka pour un ou les deux clusters ne dispose pas du rôle d'agent de service Managed Kafka.

    Pour chaque cluster Managed Service pour Apache Kafka, attribuez le rôle IAM Agent de service Managed Kafka au compte de service Managed Kafka du projet de ce cluster. Pour en savoir plus, consultez Configurer la mise en réseau de Managed Service pour Apache Kafka.

  • L'authentification auprès d'un cluster autogéré ou externe a échoué.

    Pour les clusters Kafka autogérés ou externes, assurez-vous que les propriétés d'authentification sont correctes pour le cluster. Les détails dépendent de la configuration de votre cluster. Pour en savoir plus, consultez Créer un connecteur MirrorMaker 2.

  • Les clusters ne se trouvent pas dans le même périmètre VPC Service Controls.

    Si vous utilisez VPC Service Controls pour isoler vos clusters Kafka, assurez-vous qu'ils se trouvent dans le même périmètre. Pour en savoir plus, consultez la page Présentation de VPC Service Controls.

Opération refusée pour le compte principal

Si vous créez une liste de contrôle d'accès (LCA) Apache Kafka et que celle-ci n'accorde pas d'autorisations en lecture et en écriture au compte de service Managed Kafka, une erreur semblable à la suivante s'affiche :

Principal = User:SERVICE_ACCOUNT is Denied operation = OPERATION from host = HOST
on resource = Topic:LITERAL:TOPIC for request = TOPIC with resourceRefCount = 1 based on rule DefaultDeny

Par défaut, les clusters Managed Service pour Apache Kafka fonctionnent avec allow.everyone.if.no.acl.found défini sur true, ce qui donne au compte de service Managed Kafka un accès en lecture et en écriture aux ressources du cluster.

Toutefois, si vous définissez des LCA, celles-ci doivent accorder des autorisations de lecture et d'écriture au compte de service. Sinon, le cluster Connect perd les autorisations de lecture et d'écriture sur tous les sujets, ainsi que l'autorisation de lecture sur tous les groupes de consommateurs.

Pour résoudre ce problème, ajoutez des entrées ACL qui accordent les autorisations nécessaires au compte de service Managed Kafka. Pour ce faire, suivez la procédure décrite dans Ajouter une entrée LCA à une LCA Managed Kafka.

  • Le compte principal est User:service-PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com. Remplacez PROJECT_NUMBER par votre numéro de projet Google Cloud .

  • Accorder un accès en lecture et en écriture à des thèmes spécifiques, et un accès en lecture à des groupes de consommateurs spécifiques. Pour savoir comment spécifier des ressources pour une LCA, consultez ID de la LCA.

Les messages ne sont pas dupliqués

Pour résoudre ce problème, vérifiez la configuration du connecteur. Si vous utilisez le cluster Kafka principal comme cluster source, définissez producer.override.bootstrap.servers sur l'adresse d'amorçage du cluster cible.

Résoudre les problèmes de mise en réseau

Si vous rencontrez des problèmes de réseau lorsque vous utilisez un connecteur MirrorMaker 2.0, suivez les étapes de dépannage ci-dessous.

  • Lorsque vous vous connectez à un cluster Managed Service pour Apache Kafka :

    1. Recherchez le sous-réseau de nœuds de calcul du cluster Connect et trouvez le réseau VPC du sous-réseau.

    2. Affichez la configuration du cluster Kafka principal et recherchez la liste des sous-réseaux. Au moins un sous-réseau doit se trouver dans le même réseau VPC que le sous-réseau du cluster Connect.

    3. Répétez l'étape précédente pour le cluster Kafka secondaire.

    4. Assurez-vous que les règles de pare-feu autorisent l'interface Private Service Connect à accéder aux clusters Kafka source et cible.

  • Lorsque vous vous connectez à un cluster Kafka externe ou autogéré :

    1. Recherchez le sous-réseau de nœuds de calcul du cluster Connect et trouvez le réseau VPC du sous-réseau.

    2. Vérifiez que le cluster Kafka est accessible depuis le réseau VPC. Par exemple, vous pouvez déployer le cluster Kafka dans le même réseau VPC ou le rendre accessible depuis le réseau VPC à l'aide du VPC partagé ou des zones DNS.

    1  Si le cluster Kafka source ou cible est accessible via Internet, configurez Cloud NAT pour permettre aux nœuds de calcul du cluster Connect d'accéder à Internet.

Pour en savoir plus sur la mise en réseau dans Managed Service pour Apache Kafka, consultez Managed Service pour Apache Kafka.

Résoudre les problèmes de résolution de nom de domaine

Si vous rencontrez des problèmes de résolution de nom de domaine lorsque vous utilisez un connecteur MirrorMaker 2.0, suivez les étapes de dépannage suivantes :

  1. Recherchez le sous-réseau de nœuds de calcul du cluster Connect et trouvez le réseau VPC du sous-réseau.

  2. Dans la console Google Cloud , accédez à la page Zones Cloud DNS.

    Accéder aux zones DNS

  3. Sélectionnez le projet Google Cloud contenant le réseau VPC.

  4. Cliquez sur Zones et vérifiez que le nom de domaine apparaît dans la liste des zones DNS.

  5. Affichez la configuration du cluster Connect et recherchez la liste des domaines DNS résolvables. Si le nom de domaine n'est pas listé, mettez à jour le cluster Connect pour ajouter le domaine DNS. Consultez Mettre à jour un cluster Connect.

Étapes suivantes