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.
Utiliser la protection contre les interruptions de service pour protéger vos clusters Amazon EMR contre tout arrêt accidentel
La protection contre les interruptions protège vos clusters contre les interruptions accidentelles, ce qui peut être particulièrement utile pour les clusters de longue durée traitant des charges de travail critiques. Lorsque la protection contre la résiliation est activée sur un cluster de longue durée, vous pouvez toujours résilier le cluster, mais vous devez explicitement supprimer la protection contre la résiliation du cluster. Cela permet d'assurer que les instances EC2 ne sont pas résiliées par accident ou par erreur. Vous pouvez activer la protection de la résiliation lorsque vous créez un cluster et vous pouvez modifier le paramètre sur un cluster en cours d'exécution.
Lorsque la protection de la résiliation est activée, l'action TerminateJobFlows dans l'API Amazon EMR ne fonctionne pas. Les utilisateurs ne peuvent pas résilier le cluster à l'aide de cette API ou de la commande terminate-clusters dans l' AWS CLI. L'API retourne une erreur et l'interface de ligne de commande se ferme avec un code de retour non nul. Lorsque vous utilisez la console Amazon EMR pour résilier un cluster, une étape supplémentaire vous est proposée pour désactiver la protection contre la résiliation.
Avertissement
La protection contre la résiliation ne garantit pas la conservation des données en cas d'erreur humaine ou de solution de contournement, par exemple, si une commande de redémarrage est émise depuis la ligne de commande alors que vous êtes connecté à l'instance via SSH, si une application ou un script exécuté sur l'instance émet une commande de redémarrage ou si l'API Amazon EC2 ou Amazon EMR est utilisée pour désactiver la protection contre la résiliation. Cela est également vrai si vous utilisez les versions 7.1 et supérieures d'Amazon EMR et qu'une instance devient défectueuse et irrécupérable. Même lorsque la protection contre la résiliation est activée, les données enregistrées sur le stockage de l'instance, y compris les données HDFS, peuvent être perdues. Rédigez les données de sortie vers les sites Amazon S3 et créez des stratégies de sauvegarde adaptées à vos exigences de continuité d'activité.
La protection de la résiliation n'affecte pas votre capacité à dimensionner des ressources de cluster en utilisant l'une des actions suivantes :
-
Redimensionner manuellement un cluster à l'aide de la touche Console de gestion AWS ou AWS CLI. Pour de plus amples informations, veuillez consulter Redimensionner manuellement un cluster Amazon EMR en cours d'exécution.
-
La suppression des instances d'un cœur ou d'un groupe d'instances de tâches à l'aide d'une stratégie de diminution en charge avec le dimensionnement automatique. Pour de plus amples informations, veuillez consulter Utilisation du dimensionnement automatique avec une politique personnalisée pour les groupes d'instances dans Amazon EMR.
-
Suppression des instances d'un parc d'instances en réduisant la capacité cible. Pour de plus amples informations, veuillez consulter Options de parc d'instances.
Protection contre la résiliation et Amazon EC2
Le paramètre de protection contre les terminaisons dans un cluster Amazon EMR correspond à l'DisableApiTerminationattribut de toutes les instances Amazon EC2 du cluster. Par exemple, si vous activez la protection contre les interruptions de service dans un cluster EMR, Amazon EMR prend automatiquement la valeur true DisableApiTermination pour toutes les instances EC2 du cluster EMR. Il en va de même si vous désactivez la protection contre la résiliation. Amazon EMR définit automatiquement la valeur False DisableApiTermination pour toutes les instances EC2 du cluster EMR. Si vous résiliez ou réduisez la taille d'un cluster depuis Amazon EMR et que les paramètres Amazon EC2 sont en conflit pour une instance EC2, Amazon EMR donne la priorité au paramètre Amazon EMR par rapport aux DisableApiTermination paramètres DisableApiStop et dans Amazon EC2 et continue de mettre fin à l'instance EC2.
Par exemple, vous pouvez utiliser la console Amazon EC2 pour activer la protection de terminaison sur une instance Amazon EC2 dans un cluster EMR avec la protection de terminaison désactivée. Si vous arrêtez ou réduisez le cluster à l'aide de la console Amazon EMR, de l' AWS CLI API Amazon EMR ou de l'API Amazon EMR, Amazon EMR remplace le DisableApiTermination paramètre, le définit sur false et met fin à l'instance ainsi qu'aux autres instances.
Vous pouvez également utiliser la console Amazon EC2 pour activer la protection d'arrêt sur une instance Amazon EC2 dans un cluster EMR avec la protection de terminaison désactivée. Si vous mettez fin au cluster ou si vous le réduisez, Amazon EMR prend la valeur false dans Amazon EC2 et met fin DisableApiStop à l'instance ainsi qu'aux autres instances.
Amazon EMR remplace ce DisableApiStop paramètre uniquement lorsque vous mettez fin à un cluster ou que vous le réduisez. Lorsque vous activez ou désactivez la protection de terminaison dans un cluster EMR, Amazon EMR ne modifie le disableApiStop paramètre d'aucune des instances EC2 du cluster EMR correspondant.
Important
Si vous créez une instance dans le cadre d'un cluster Amazon EMR avec protection contre la résiliation et que vous utilisez l'API ou AWS CLI les commandes Amazon EC2 pour modifier l'instancefalse, puis que DisableApiTermination l'API ou les AWS CLI commandes Amazon EC2 exécutent l'TerminateInstancesopération, l'instance Amazon EC2 s'arrête.
Protection contre la résiliation et nœuds YARN non sains
Amazon EMR vérifie périodiquement l'état Apache Hadoop YARN des nœuds principaux s'exécutant sur des instances Amazon EC2 de noyau et de tâche dans un cluster. L'état de santé est communiqué par le service NodeManager UNHEALTHY, le contrôleur d'instance Amazon EMR ajoute le nœud à une liste de refus et ne lui alloue pas de conteneurs YARN tant qu'il n'est pas redevenu sain. En fonction de l'état de la protection contre les interruptions, du remplacement des nœuds défectueux et de la version finale d'Amazon EMR, Amazon EMR remplacera l'instance défectueuse ou arrêtera d'allouer des contrôleurs à l'instance.
Protection contre la résiliation et résiliation après exécution des étapes
Lorsque vous activez la résiliation après l'exécution d'une étape et que vous activez également la protection contre la résiliation, Amazon EMR ignore la protection de résiliation.
Lorsque vous soumettez des étapes à un cluster, vous pouvez définir la propriété ActionOnFailure pour déterminer ce qui se produit si l'étape ne peuvent pas terminer son exécution en raison d'une erreur. Les valeurs possibles pour ce paramètre sont TERMINATE_CLUSTER (TERMINATE_JOB_FLOW avec les versions antérieures), CANCEL_AND_WAIT, et CONTINUE. Pour de plus amples informations, veuillez consulter Soumettre un travail à un cluster Amazon EMR.
Si une étape configurée avec ActionOnFailure set to échoueCANCEL_AND_WAIT, si la terminaison après l'exécution de l'étape est activée, le cluster se termine sans exécuter les étapes suivantes.
Si une étape qui est configurée avec la ActionOnFailure valeur TERMINATE_CLUSTER échoue, utilisez la table de paramètres ci-dessous pour déterminer le résultat.
| ActionOnFailure | Résiliation après exécution de l'étape | Protection de la résiliation | Résultat |
|---|---|---|---|
|
|
Activé |
Désactivé |
Le cluster se résilie |
|
Activé |
Activé |
Le cluster se résilie |
|
|
Désactivé |
Activé |
Le cluster continue |
|
|
Désactivé |
Désactivé |
Le cluster se résilie |
Protection contre la résiliation et instances Spot
La protection de la résiliation Amazon EMR n'empêche pas la résiliation d'une instance Spot Amazon EC2 lorsque le prix Spot dépasse le prix Spot maximum.
Configuration de la protection contre la résiliation lorsque vous lancez un cluster
Vous pouvez activer ou désactiver la protection contre la résiliation lorsque vous lancez un cluster à l'aide de la console AWS CLI, de l'API ou de l'API.
Pour les clusters à nœud unique, les paramètres de protection de terminaison par défaut sont les suivants :
-
Lancement d'un cluster par la console Amazon EMR : la protection contre la terminaison est désactivée par défaut.
-
Lancement d'un cluster par AWS CLI
aws emr create-cluster—La protection contre la terminaison est désactivée sauf indication contraire--termination-protected. -
Lancement d'un cluster à l'aide de la RunJobFlow commande d'API Amazon EMR : la protection contre la terminaison est désactivée sauf si la valeur
TerminationProtectedbooléenne est définie sur.true
Pour les clusters à haute disponibilité, les paramètres de protection de terminaison par défaut sont les suivants :
-
Lancement d'un cluster par la console Amazon EMR — La protection contre la résiliation est activée par défaut.
-
Lancement d'un cluster par AWS CLI
aws emr create-cluster—La protection contre la terminaison est désactivée sauf indication contraire--termination-protected. -
Lancement d'un cluster à l'aide de la RunJobFlow commande d'API Amazon EMR : la protection contre la terminaison est désactivée sauf si la valeur
TerminationProtectedbooléenne est définie sur.true
Configuration de la protection contre la résiliation pour les clusters en cours d'exécution
Vous pouvez configurer la protection contre l'arrêt pour un cluster en cours d'exécution à l'aide de la console ou de l' AWS CLI.