Pourquoi une étape Amazon EMR est-elle en cours d’exécution alors que mon application sur YARN est terminée ?

Lecture de 3 minute(s)
0

Une étape Amazon EMR est toujours à l’état RUNNING même si l'application Apache Spark ou YARN correspondante est terminée.

Résolution

Appliquez l’une des méthodes suivantes pour résoudre le problème.

Valider le statut de l'application YARN, puis terminer l'étape

Procédez comme suit :

  1. Identifiez l'applicationId YARN à partir du fichier stderr des journaux d'étapes.

  2. Connectez-vous au nœud primaire via SSH.

  3. Utilisez la commande YARN suivante pour rechercher l'état de l'application YARN. Dans l'exemple de commande suivant, remplacez application_id par l'ID de votre application. Un exemple d'ID d'application est application_1234567891011_001.

    yarn application -status application_id

    -ou-

    Utilisez la commande YARN suivante pour répertorier toutes les applications :

    yarn application -list -appStates ALL
  4. Vérifiez la sortie de la commande précédente pour connaître l'état de l'application.
    Si la sortie de la commande précédente présente les états FINISHED, FAILED ou KILLED, l'application YARN est terminée.
    Si le statut de l'application est NEW, NEW_SAVING, SUBMITTED, ACCEPTED ou RUNNING, l'application YARN est toujours en cours d'exécution. Attendez que la requête soit terminée ou mettez fin à l'application pour annuler l'étape.
    Voici un exemple de sortie d'une application qui s'est terminée correctement :

    Progress : 100%
    State : FINISHED
    Final-State : SUCCEEDED
  5. Exécutez la commande suivante pour mettre fin à l'application. Remplacez application_id par l'ID de votre application. Un exemple d'ID d'application est application_1234567891011_001.

    yarn application -kill application_id
  6. Vérifiez à nouveau le statut de l'étape Amazon EMR après avoir terminé l’application.

Annuler l'étape Amazon EMR manuellement à l'aide de l'interface de ligne de commande AWS (AWS CLI)

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez la version la plus récente d’AWS CLI.

Procédez comme suit :

  1. Utilisez la commande describe-step pour afficher le statut de l'étape. Dans la commande suivante, remplacez cluster-id et step-id par les valeurs appropriées pour votre cas d'utilisation.

    aws emr describe-step --cluster-id j-xxxxxxxxxxxxx --step-ids s-xxxxxxxx
  2. Utilisez la commande cancel-steps pour annuler l'étape. Dans la commande suivante, remplacez cluster-id et step-id par les valeurs appropriées pour votre cas d'utilisation.

    aws emr cancel-steps --cluster-id j-xxxxxxxxxxxxx \
    --step-ids s-3M8DXXXXXXXXX \
    --step-cancellation-option SEND_INTERRUPT

Pour plus d'informations, consultez la section Annuler les étapes lorsque vous soumettez un travail à un cluster Amazon EMR.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois