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.
Dépannage de MSK comme source
Cette section décrit les étapes de dépannage courantes lors de l'utilisation de MSK comme source
Note
Pour résoudre les problèmes de traitement, de transformation ou de diffusion du S3, reportez-vous aux sections précédentes.
Échec de la création de tuyaux
Vérifiez les points suivants si la création de votre tuyau avec MSK comme source échoue :
-
Vérifiez que le cluster MSK source est à l'état actif.
-
Si vous utilisez une connectivité privée, assurez-vous que le lien privé est activé sur le cluster.
Si vous utilisez la connectivité publique, assurez-vous que l'accès public est activé sur le cluster.
-
Si vous utilisez une connectivité privée, assurez-vous d'ajouter une politique basée sur les ressources qui autorise Firehose à créer un Private Link. Voir également : Autorisations entre comptes MSK.
-
Assurez-vous que le rôle dans la configuration de la source est autorisé à ingérer les données de la rubrique du cluster.
-
Assurez-vous que vos groupes de sécurité VPC autorisent le trafic entrant sur les ports utilisés par les serveurs bootstrap du cluster.
Tuyau suspendu
Si votre tuyau est en état de SUSPENDED, vérifiez les points suivants
-
Vérifiez que le cluster MSK source est à l'état actif.
-
Vérifiez que la rubrique source existe. Si le sujet a été supprimé et recréé, vous devrez également supprimer et recréer le stream Firehose.
Tuyau contre-pressurisé
La valeur de DataReadFromSource .Backpressured sera de 1 en cas de dépassement BytesPerSecondLimit par partition ou lorsque le flux normal de livraison est lent ou arrêté.
-
Si vous touchez, BytesPerSecondLimit veuillez vérifier la métrique DataReadFromSource .Bytes et demander une augmentation de la limite.
-
Consultez les CloudWatch journaux, les métriques de destination, les métriques de transformation des données et les métriques de conversion de format pour identifier les goulots d'étranglement.
Actualité des données incorrecte
L'actualité des données semble incorrecte
-
Firehose calcule l'actualité des données en fonction de l'horodatage de l'enregistrement consommé. Pour vous assurer que cet horodatage est correctement enregistré lorsque l'enregistrement du producteur est conservé dans les journaux de l'agent Kafka, définissez la configuration du type d'horodatage de la rubrique Kafka sur
message.timestamp.type=LogAppendTime
Problèmes de connexion au cluster MSK
La procédure suivante explique comment valider la connectivité aux clusters MSK. Pour en savoir plus sur la configuration du client Amazon MSK, consultez Getting started using Amazon MSK dans le guide du développeur Amazon Managed Streaming for Apache Kafka.
Pour valider la connectivité aux clusters MSK
Créez une instance AL2 Amazon EC2 basée sur Unix (de préférence). Si seule la connectivité VPC est activée sur votre cluster, assurez-vous que votre EC2 instance s'exécute dans le même VPC. Connectez-vous à l'instance en SSH une fois qu'elle est disponible. Pour plus d'informations, consultez ce didacticiel dans le guide de EC2 l'utilisateur Amazon.
Installez Java à l'aide du gestionnaire de packages Yum en exécutant la commande suivante. Pour plus d'informations, consultez les instructions d'installation du guide de l'utilisateur d'Amazon Corretto 8.
sudo yum install java-1.8.0Installez le AWS client
en exécutant la commande suivante. curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/installTéléchargez la version 2.6* du client Apache Kafka en exécutant la commande suivante.
wget https://archive.apache.org/dist/kafka/2.6.2/kafka_2.12-2.6.2.tgz tar -xzf kafka_2.12-2.6.2.tgz-
Accédez au répertoire
kafka_2.12-2.6.2/libs, puis exécutez la commande suivante pour télécharger le fichier Amazon MSK IAM JAR.wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.3/aws-msk-iam-auth-1.1.3-all.jar -
Créez un
client.propertiesfichier dans le dossier Kafka bin. -
awsRoleArnRemplacez-le par le rôle ARN que vous avez utilisé dans votre FirehoseSourceConfigurationet vérifiez l'emplacement du certificat. Autorisez votre utilisateur AWS client à assumer le rôleawsRoleArn. AWS L'utilisateur client tentera d'assumer le rôle que vous avez spécifié ici.[ec2-user@ip-xx-xx-xx-xx bin]$ cat client.properties security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required awsRoleArn="<role arn>" awsStsRegion="<region name>"; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler awsDebugCreds=true ssl.truststore.location=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64/jre/lib/security/cacerts ssl.truststore.password=changeit Exécutez la commande Kafka suivante pour répertorier les sujets. Si votre connexion est publique, utilisez les serveurs Bootstrap du point de terminaison public. Si votre connexion est privée, utilisez les serveurs Bootstrap du point de terminaison privé.
bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.propertiesSi la demande aboutit, vous devriez voir un résultat similaire à l'exemple suivant.
[ec2-user@ip-xx-xx-xx-xx kafka_2.12-2.6.2]$ bin/kafka-topics.sh --list --bootstrap-server<bootstrap servers>--command-config bin/client.properties [xxxx-xx-xx 05:49:50,877] WARN The configuration 'awsDebugCreds' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'ssl.truststore.location' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'sasl.jaas.config' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'sasl.client.callback.handler.class' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:49:50,878] WARN The configuration 'ssl.truststore.password' was supplied but isn't a known config. (org.apache.kafka.clients.admin.AdminClientConfig) [xxxx-xx-xx 05:50:21,629] WARN [AdminClient clientId=adminclient-1] Connection to node... __amazon_msk_canary __consumer_offsetsSi vous rencontrez des problèmes lors de l'exécution du script précédent, vérifiez que les serveurs bootstrap que vous avez fournis sont accessibles sur le port spécifié. Pour ce faire, vous pouvez télécharger et utiliser telnet ou un utilitaire similaire, comme indiqué dans la commande suivante.
sudo yum install telnet telnet<bootstrap servers><port>Si la demande aboutit, vous obtiendrez le résultat suivant. Cela signifie que vous pouvez vous connecter à votre cluster MSK au sein de votre VPC local et que les serveurs bootstrap sont sains sur le port spécifié.
Connected to ..Si la demande échoue, vérifiez les règles de trafic entrant sur votre groupe de sécurité VPC. Par exemple, vous pouvez utiliser les propriétés suivantes sur la règle entrante.
Type: All traffic Port: Port used by the bootstrap server (e.g. 14001) Source: 0.0.0.0/0Réessayez la connexion Telnet comme indiqué à l'étape précédente. Si vous ne parvenez toujours pas à vous connecter ou si votre connexion Firehose échoue toujours, contactez le AWS support.