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 ?

Lecture de 3 minute(s)
0

Mon nœud primaire Amazon EMR échoue en raison d'une erreur « 502 Bad Gateway » ou « 504 Gateway Time-out ».

Brève description

Un nœud primaire EMR peut échouer avec l'une des erreurs suivantes :

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.20.0</center>?? </body>?? </html>??

-ou-

The master failed: Error occurred: <html>??<head><title>504 Gateway Time-out</title></head>??<body>??<center><h1>504 Gateway Time-out</h1></center>??<hr><center>nginx/1.16.1</center>??</body>??</html>??

Les causes courantes de ces erreurs sont les suivantes :

  • Le démon du contrôleur d'instance est à l'état arrêté ou est hors service sur l'instance du nœud primaire.
  • Le nœud primaire manque de mémoire ou d'espace disque.
  • Les vérifications de l'état de l'instance Amazon Elastic Compute Cloud (Amazon EC2) échouent.

Solution

Résoudre les défaillances du démon du contrôleur d'instance du nœud primaire

Le contrôleur d'instance (I/C) du nœud primaire est le démon qui communique avec le plan de contrôle EMR et le reste du cluster. Si le contrôleur d'instance ne peut pas communiquer avec le plan de contrôle EMR, le nœud primaire est considéré comme défectueux et le cluster est arrêté.

Pour résoudre ce problème, analysez les journaux du contrôleur d'instance afin de déterminer pourquoi le processus a échoué. Les journaux du contrôleur d'instance se trouvent dans /emr/instance-controller/log/.

Si la protection contre la terminaison est activée, connectez-vous via SSH au nœud primaire et redémarrez le processus du contrôleur d'instance.

Amazon EMR 5.30.0 et versions ultérieures :

1.    Pour vérifier l'état de l'agent SSM, utilisez les commandes suivantes :

sudo systemctl status instance-controller.service

2.    Utilisez la commande suivante pour redémarrer l'I/C si l'état est inactif :

sudo systemctl start instance-controller.service

Versions 4.x-2.x d'Amazon EMR :

1.    Utilisez la commande suivante pour vérifier l'état du domaine :

sudo /etc/init.d/instance-controller status

2.    Utilisez la commande suivante pour redémarrer l'I/C si l'état est inactif :

sudo /etc/init.d/instance-controller start

Analyser les fichiers journaux pour résoudre les problèmes de mémoire et de disque

  1. Si la protection contre la terminaison est activée, utilisez SSH pour vous connecter au nœud primaire. Passez ensuite en revue le fichier journal de l'état de l'instance.
  2. Analysez les indicateurs d'instance tels que la mémoire et le disque répertoriés dans le journal des états instantanés. Vous pouvez analyser ces métriques à l'aide de commandes Linux telles que free -m et df -h.
  3. Utilisez les résultats du fichier journal pour déterminer pourquoi le nœud primaire utilise une grande quantité de disque ou de mémoire.

Résoudre les échecs de vérification de l'état des instances EC2 du nœud primaire

Résoudre les problèmes liés aux nœuds primaires dont la protection contre la terminaison est désactivée alors que le cluster est déjà arrêté


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an