Pourquoi mon cluster EMR a-t-il été arrêté ?
Mon cluster Amazon EMR s'est arrêté de manière inattendue.
Résolution
Examiner les journaux de provisionnement d'Amazon EMR stockés dans Amazon S3
Les journaux de cluster Amazon EMR sont stockés dans un compartiment Amazon Simple Storage Service (Amazon S3) spécifié lors du lancement du cluster. Les journaux sont stockés à l'adresse s3://example-log-location/example-cluster-ID/node/example-EC2-instance-ID/.
Remarque : remplacezexample-log-location, example-cluster-ID, and example-EC2-instance-ID par le nom de votre système.
Les types d'erreurs les plus courants sont répertoriés ci-après :
SHUTDOWN_STEP_FAILED (USER_ERROR)
NO_SLAVES_LEFT (SYSTEM_ERROR)
The master failed: Error occurred: <html>??<head><title>502 Bad Gateway</title></head>??<body>??<center><h1>502 Bad Gateway</h1></center>??<hr><center>nginx/1.16.1</center>??</body>??</html>??
KMS_ISSUE (USER_ERROR)Terminated with errors, The master node was terminated by user.
Remarque : Les erreurs de terminaison les plus courantes sont décrites ci-dessus. Les clusters EMR peuvent être interrompus en raison d'erreurs autres que celles répertoriées. Pour plus d'informations, consultez Erreurs de ressource.
SHUTDOWN_STEP_FAILED (USER_ERROR)
Lorsque vous soumettez une tâche d'étape dans votre cluster EMR, vous pouvez spécifier le comportement d'échec de l'étape dans le paramètre ActionOnFailure. Le cluster EMR se termine si vous sélectionnez TERMINATE_CLUSTER ouTERMINATE_JOB_FLOW pour le paramètre ActionOnFailure. Pour plus d’informations, voir StepConfig.
Voici un exemple de message d'erreur provenant d’AWS CloudTrail :
{ "severity": "ERROR", "actionOnFailure": "TERMINATE_JOB_FLOW", "stepId": "s-2I0GXXXXXXXX", "name": "Example Step", "clusterId": "j-2YJXXXXXXX", "state": "FAILED", "message": "Step s-2I0GXXXXXXXX (Example Step) in Amazon EMR cluster j-2YJXXXXXXX failed at 202X-1X-0X 0X:XX UTC." }
Pour éviter cette erreur, utilisez l'option CONTINUE ou CANCEL_AND_WAIT dans le paramètre ActionOnFailure lorsque vous soumettez la tâche étape par étape.
NO_SLAVES_LEFT (SYSTEM_ERROR)
Cette erreur se produit lorsque :
- La protection contre les résiliations est désactivée dans le cluster EMR.
- Tous les nœuds principaux dépassent la capacité de stockage sur disque spécifiée par un seuil d'utilisation maximal dans la classification de configuration Yarn-Site. Le seuil d'utilisation maximal par défaut est de 90 %.
- L'instance CORE est une instance Spot, et l'instance Spot est TERMINATED_BY_SPOT_DUE_TO_NO_CAPACITY.
Pour plus d'informations sur la résiliation d'une instance Spot, consultez Pourquoi Amazon EC2 a-t-il résilié mon instance Spot ?
Pour plus d'informations sur l'erreur NO_SLAVE_LEFT, voir Cluster terminé avec NO_SLAVE_LEFT et les nœuds principaux FAILED_BY_MASTER.
Voici un exemple de message d'erreur provenant du contrôleur d'instance :
202X-0X-0X 1X:5X:5X,968 INFO Poller: InstanceJointStatusMap contains X entries (DD:5 R:3): i-0e336xxxxxxxxxxxx 25d21h R 25d21h ig-22 ip-1x-2xx-xx-1xx.local.xxx.com I: 52s Y:U 98s c: 0 am: 0 H:R 1.1%Yarn unhealthy Reason : 1/4 local-dirs usable space is below configured utilization percentage/no more usable space [ /mnt/yarn : used space above threshold of 90.0% ] ; 1/1 log-dirs usable space is below configured utilization percentage/no more usable space [ /var/log/hadoop-yarn/containers : used space above threshold of 90.0% ]
Pour résoudre cette erreur :
- Maintenez la protection contre la terminaison sur ON (activée) pour vos clusters. Pour plus d'informations, consultez la sectionProtection contre la terminaison et nœuds YARN défectueux.
- Utilisez les politiques de dimensionnement d'Amazon EMR (scalabilité automatique et dimensionnement géré) pour mettre à l’échelle les nœuds principaux en fonction de vos besoins. Pour plus d'informations, consultez Dimensionnement des ressources de cluster.
- Ajoutez davantage de capacité Amazon Elastic Block Storage (Amazon EBS) à votre cluster. Pour plus d'informations, consultez la sectionComment puis-je résoudre le problème « État de sortie : -100 ». Diagnostics: Container released on a *lost* node » dans Amazon EMR ?
- Créez une alarme pour la métrique MRUnhealthyNodes Amazon CloudWatch. Vous pouvez configurer une notification pour cette alarme afin de vous avertir de la présence de nœuds défectueux avant que le délai de 45 minutes ne soit atteint. Pour plus d’informations, consultez Créer une alarme CloudWatch basée sur un seuil statique.
502, Mauvaise passerelle
L'erreur 502 Mauvaise passerelle se produit lorsque les systèmes internes d'Amazon EMR ne peuvent pas atteindre le nœud principal pendant un certain temps. Amazon EMR est résilié si la protection contre les résiliations est désactivée. Consultez les derniers journaux du contrôleur d'instance et les journaux d'état des instances lorsque le service du contrôleur d'instance est en panne. La sortie standard du contrôleur d'instance indique que le service est arrêté, car la mémoire est insuffisante. Cela indique que la mémoire du nœud principal du cluster est insuffisante.
Voici un exemple de message d'erreur provenant du journal d'état de l'instance :
# dump instance controller stdout tail -n 100 /emr/instance-controller/log/instance-controller.out OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007fb46c7c8000, 12288, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 12288 bytes for committing reserved memory. # An error report file with more information is saved as: # /tmp/hs_err_pid16110.log # whats memory usage look like free -m total used free shared buff/cache available Mem: 15661 15346 147 0 167 69 Swap: 0 0 0
Pour éviter l'erreur précédente, lancez un cluster EMR avec un type d'instance supérieur afin d'exploiter davantage de mémoire pour répondre aux besoins de votre cluster. Nettoyez également l'espace disque pour éviter les pannes de mémoire dans les clusters de longue durée. Pour plus d’informations, voir Comment résoudre une défaillance du nœud primaire associée à l'erreur « 502 Bad Gateway » ou « 504 Gateway Time-out » dans Amazon EMR ?
KMS_ISSUE (USER_ERROR)
Lorsque vous utilisez une configuration de sécurité Amazon EMR pour chiffrer un périphérique racine et des volumes de stockage Amazon EBS, le rôle doit disposer des autorisations appropriées. Si les autorisations nécessaires sont manquantes, le message d'erreur KMS_ISSUE s'affiche.
Voici un exemple de message d'erreur provenant d’AWS CloudTrail :
The EMR Service Role must have the kms:GenerateDataKey* and kms:ReEncrypt* permission for the KMS key configuration when you enabled EBS encryption by default. You can retrieve that KMS key's ID by using the ec2:GetEbsDefaultKmsKeyId API.
Pour éviter l'erreur précédente, assurez-vous que les configurations de sécurité qui sont utilisées pour chiffrer le périphérique racine et les volumes de stockage Amazon EBS disposent des autorisations nécessaires. Pour ces configurations, assurez-vous que la fonction du service Amazon EMR (EMR_DefaultRole_V2) est autorisée à utiliser la clé AWS Key Management Service (AWS KMS).
Résilié avec des erreurs, le nœud principal a été arrêté par l'utilisateur
Lorsque le nœud principal du cluster EMR s'arrête pour une raison quelconque, le cluster se termine avec l'erreur The master node was terminated by user.
Voici un exemple de message d'erreur provenant d’AWS CloudTrail :
eventTime": "2023-01-18T08:07:02Z", "eventSource": "ec2.amazonaws.com", "eventName": "StopInstances", "awsRegion": "us-east-1", "sourceIPAddress": "52.xx.xx.xx", "userAgent": "AWS Internal", "requestParameters": { "instancesSet": { "items": [ { "instanceId": "i-xxf6c5xxxxxxxxxxx" } ] }, "force": false },
Étant donné que l'arrêt du nœud principal ou de tous les nœuds principaux de l'EMR entraîne la fermeture du cluster, évitez d'arrêter ou de redémarrer les nœuds du cluster.

Contenus pertinents
- demandé il y a un moislg...
- demandé il y a un moislg...
- demandé il y a 2 moislg...
- demandé il y a un moislg...
- demandé il y a 8 jourslg...
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 3 mois
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a un an