Annulation d'étapes - Amazon EMR

Annulation d'étapes

Vous pouvez annuler des étapes en attente et en cours d'exécution depuis la AWS Management Console, l'interface AWS CLI, ou l'API Amazon EMR.

Note

Nous avons repensé la console Amazon EMR pour en faciliter l'utilisation. Consultez Nouveautés de la console pour en savoir plus sur les différences entre l'ancienne et la nouvelle expérience console.

New console
Annuler des étapes avec la nouvelle console
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon EMR à l'adresse https://console.aws.amazon.com/emr.

  2. Sous EMR sur EC2, dans le volet de navigation de gauche, choisissez Clusters, puis sélectionnez le cluster que vous souhaitez mettre à jour.

  3. Dans l'onglet Étapes de la page de détails du cluster, cochez la case à côté de l'étape que vous souhaitez annuler. Choisissez le menu déroulant Actions, puis sélectionnez Annuler les étapes.

  4. Dans la boîte de dialogue Annuler l'étape, choisissez soit d'annuler l'étape et d'attendre qu'elle se termine, soit d'annuler l'étape et de la forcer à se terminer. Ensuite, choisissez Valider.

  5. L'état des étapes dans le tableau Étapes devient CANCELLED.

Old console
Annuler des étapes avec l'ancienne console
  1. Accédez à la nouvelle console Amazon EMR et sélectionnez Basculer vers l'ancienne console depuis le menu latéral. Pour plus d'informations sur ce qui vous attend lorsque vous passez à l'ancienne console, consultez la rubrique Utilisation de l'ancienne console.

  2. Sur la page Cluster Details (Détails de cluster), développez la section Étapes.

  3. Pour chaque étape que vous souhaitez annuler, sélectionnez l'étape dans la liste Steps (Étapes). Choisissez ensuite Cancel step (Annuler l'étape).

  4. Dans la boîte de dialogue Cancel step (Annuler l'étape) conservez l'option par défaut Cancel the step and wait for it to exit (Annuler l'étape et attendre qu'elle se termine). Si vous voulez mettre arrêter immédiatement l'étape sans attendre la fin des processus, choisissez Cancel the step and force it to exit (Annuler l'étape et la forcer à se terminer).

  5. Choisissez Cancel step (Annuler l'étape).

CLI
Pour annuler à l'aide de l'interface AWS CLI
  • Utilisez la commande aws emr cancel-steps, en précisant le cluster et les étapes à annuler. L'exemple suivant représente une commande AWS CLI pour annuler en deux étapes.

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

Avec Amazon EMR version 5.28.0, vous pouvez choisir l'une des deux options d'annulation suivantes pour le paramètre StepCancellationOption lors de l'annulation d'étapes.

  • SEND_INTERRUPT : Il s'agit de l'option par défaut. Lorsqu'une demande d'annulation d'étape est reçue, l'EMR envoie un signal SIGTERM à l'étape. Ajoutez un gestionnaire de signaux SIGTERM à votre logique d'étapes pour capter ce signal et mettre fin aux processus par étapes descendantes, ou attendez qu'ils soient terminés.

  • TERMINATE_PROCESS : Lorsque cette option est sélectionnée, l'EMR envoie un signal SIGKILL à l'étape et à tous ses processus descendants qui les interrompent immédiatement.

Considérations relatives à l'annulation d'étapes
  • L'annulation d'une étape en cours ou en attente supprime cette étape du nombre d'étapes actives.

  • L'annulation d'une étape en cours ne permet pas à une étape en attente de démarrer, en supposant qu'aucune modification n'a été apportée à stepConcurrencyLevel.

  • L'annulation d'une étape en cours ne déclenche pas l'étape ActionOnFailure.

  • Pour EMR 5.32.0 et versions ultérieures, SEND_INTERRUPT StepCancellationOption envoie un signal SIGTERM au processus enfant de l'étape. Vous devez surveiller ce signal et effectuer un nettoyage et un arrêt en douceur. Le TERMINATE_PROCESS StepCancellationOption envoie un signal SIGKILL au processus enfant de l'étape et à tous ses processus descendants ; toutefois, les processus asynchrones ne sont pas attribués.