Cette page vous explique comment résoudre les problèmes liés à la création ou à la configuration d'un cluster Managed Service pour Apache Kafka.
Erreurs de création de cluster Kafka
Cette section répertorie les erreurs que vous pouvez rencontrer lors de la création d'un cluster Kafka.
Le service n'est pas autorisé à accéder à la clé Cloud KMS
Le problème suivant se produit lorsque l'agent de service Managed Service pour Apache Kafka ne dispose pas de l'autorisation requise pour accéder à la clé Cloud KMS.
Service agent service-${PROJECT_NUMBER}@gcp-sa-managedkafka.iam.gserviceaccount.com
has not been granted the required role cloudkms.cryptoKeyEncrypterDecrypter to
encrypt data using the KMS key.`
Pour résoudre ce problème, accordez au compte de service le rôle Cloud KMS CryptoKey Encrypter/Decrypter sur la clé Cloud KMS. Pour en savoir plus, consultez la section Rôles requis pour configurer CMEK.
Le service n'est pas autorisé à récupérer le sous-réseau
Le problème suivant se produit lorsque l'agent de service Managed Service pour Apache Kafka ne dispose pas du rôle requis pour configurer la mise en réseau dans le réseau VPC dans lequel les clients Kafka s'exécutent.
Service does not have permission to retrieve subnet. Please grant
service-${PROJECT_NUMBER}@gcp-sa-managedkafka.iam.gserviceaccount.com the
managedkafka.serviceAgent role in the IAM policy of the project
${SUBNET_PROJECT} and ensure the Compute Engine API is enabled in project
${SUBNET_PROJECT}`
Pour résoudre ce problème, accordez au compte de service le rôle Managed Kafka Service Agent. Pour en savoir plus, consultez la section Connecter un cluster entre des projets.
Erreurs de mise en réseau
Cette section répertorie les erreurs que vous pouvez rencontrer lors de la configuration de la mise en réseau pour un cluster Kafka.
Le service n'a pas pu configurer la mise en réseau
Le problème suivant se produit lorsque Managed Service pour Apache Kafka ne parvient pas à connecter le cluster Kafka à votre sous-réseau Virtual Private Cloud.
Managed Service for Apache Kafka failed to set up networking in VPC subnet.
Pour résoudre ce problème, procédez comme suit :
Activez les API Compute Engine et Cloud DNS dans le projet parent du réseau VPC consommateur.
Si le cluster Managed Service pour Apache Kafka et le réseau VPC consommateur se trouvent dans des projets différents, configurez les autorisations requises. Consultez la section Connecter un cluster entre des projets.
Assurez-vous qu'aucune contrainte de règle d'administration n'empêche le service de créer les ressources nécessaires dans le projet du réseau VPC consommateur.
Pour en savoir plus, consultez la section Configurer la mise en réseau pour Managed Service pour Apache Kafka.
Les applications clientes ne peuvent pas se connecter
Si vos applications clientes ne peuvent pas se connecter à votre cluster, vérifiez les points suivants :
Assurez-vous que les clients utilisent la bonne adresse d'amorçage.
Assurez-vous que les clients Kafka s'exécutent dans un réseau VPC configuré pour accéder au cluster Managed Service pour Apache Kafka.
Si vous exécutez le client Kafka sur un ordinateur ou un ordinateur portable, vous pouvez configurer une instance Compute Engine à utiliser comme proxy pour accéder au cluster Managed Service pour Apache Kafka. Pour en savoir plus, consultez la section Configurer une machine cliente.
Erreurs d'authentification
Cette section répertorie les erreurs que vous pouvez rencontrer lorsque des applications clientes s'authentifient auprès de votre cluster Kafka.
Échec de l'authentification SASL
Le problème suivant se produit lorsqu'un client ne peut pas se connecter au cluster à l'aide de l'authentification SASL.
Exception in thread "main" java.util.concurrent.ExecutionException:
org.apache.kafka.common.errors.SaslAuthenticationException:
Authentication failed: Invalid username or password
Pour résoudre ce problème, vérifiez les causes suivantes :
Le mot de passe est mal formé et ne représente pas un blob JSON de clé de compte de service valide lorsqu'il est décodé en base64, ni un jeton d'accès valide.
Le principal d'authentification ne dispose pas de l'autorisation
managedkafka.clusters.connectsur le cluster.Le nom d'utilisateur fourni ne correspond pas au principal de l'identifiant.
Si un client subit des déconnexions fréquentes toutes les 30 minutes, cela peut être dû au fait qu'il ne prend pas en charge la réauthentification périodique.
Les agents Managed Service pour Apache Kafka exigent que les clients se réauthentifient toutes les 30 minutes, ce qui est appliqué par la propriété d'agent connections.max.reauth.ms.
Vérifiez que la version de votre bibliothèque cliente Kafka est la version 2.2.0 ou une version ultérieure, et qu'elle prend en charge la réauthentification.
Pour en savoir plus, consultez la section Configurer l'authentification SASL.
Erreurs opérationnelles
Cette section répertorie les erreurs qui peuvent se produire lors de l'exécution de vos charges de travail Kafka.
Erreurs de manque d'espace disque
Si un agent manque d'espace disque, il ne peut pas faire rouler les segments actifs ni écrire de nouveaux segments, ce qui empêche les clients de produire ou de consommer des messages. Les symptômes incluent les suivants :
Les performances du client se dégradent de manière inattendue. Par exemple, les producteurs rencontrent des erreurs de délai avant expiration et le décalage augmente progressivement chez les consommateurs.
L'utilisation du disque de l'agent est très élevée (> 85%).
Le nombre de répliques synchronisées (ISR) est inférieur au facteur de réplication.
Les journaux de cluster affichent des erreurs semblables à celles-ci :
Error processing append operation on partition PARTITION_ID. org.apache.kafka.common.errors.NotEnoughReplicasException: The size of the current ISR Set(10) is insufficient to satisfy the min.isr requirement of 2 for partition PARTITION_ID
Pour éviter les erreurs de manque d'espace disque, surveillez la capacité du cluster et la réplication des partitions. Pour en savoir plus, consultez la section Surveiller la fiabilité des clusters Kafka.
Si un agent manque d'espace disque, augmentez la taille du disque de l'agent. Envisagez également de faire évoluer le cluster pour ajouter de nouveaux agents.
La compression des journaux combinée à un espace de clés très volumineux peut entraîner des erreurs de manque d'espace disque. Lorsque la compression des journaux est activée, Kafka stocke le dernier message de chaque clé dans le stockage local. L'utilisation du disque de l'agent augmente donc avec le nombre de clés uniques.
Les clients subissent des déconnexions temporaires
Managed Service pour Apache Kafka peut effectuer des mises à jour qui nécessitent des redémarrages progressifs sur les agents. Au cours de ce processus, les requêtes adressées à des agents individuels peuvent échouer, mais ces échecs sont temporaires. Pour en savoir plus, consultez la section Mises à niveau et correctifs.
Aucune action n'est requise de votre part lors du redémarrage des agents. Toutefois, vous pouvez observer les éléments suivants :
Mises en pause du traitement lorsque les leaders de partition et les coordinateurs de groupe de consommateurs basculent vers d'autres agents.
Rééquilibrage des groupes de consommateurs, ce qui met temporairement en pause la consommation.
Erreurs de connexion temporaires ou délais avant expiration lors de la validation des décalages. Les bibliothèques clientes couramment utilisées gèrent automatiquement ces erreurs.
Pic temporaire du nombre de partitions sous-répliquées (
broker/under_replicated_partitions) lors du redémarrage d'un agent.Pic de la métrique Partitions sous-ISR min (
broker/under_min_isr_partitions). Ce pic correspond probablement à un sujet de surveillance interne qui n'est pas répliqué. Ce comportement est normal tant que le nombre est de 1 pour chaque agent. Une valeur supérieure à 1 peut indiquer un problème avec les sujets de données ou de métadonnées.
La mise à jour manuelle de certaines propriétés de cluster, telles que le nombre de processeurs virtuels et la mémoire, peut également entraîner un redémarrage progressif du service. Consultez la section Mettre à jour un cluster Managed Service pour Apache Kafka.