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.
Utilisation de la protection contre les interruptions pour protéger vos clusters contre les arrêts accidentels
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 pour pouvoir l'arrêter. Cela permet de garantir que les EC2 instances ne sont pas arrêtées à la suite d'un accident ou d'une 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 contre le licenciement est activée, l'TerminateJobFlows
action sur Amazon EMR API ne fonctionne pas. Les utilisateurs ne peuvent pas mettre fin au cluster à l'aide de cette terminate-clusters
commande API ou de la commande du AWS CLI. Le API renvoie une erreur et CLI sort avec un code de retour différent de zéro. Lorsque vous utilisez la EMR console Amazon pour mettre fin à un cluster, vous êtes invité à effectuer une étape supplémentaire 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'instanceSSH, si une application ou un script exécuté sur l'instance émet une commande de redémarrage, ou si Amazon ou EC2 Amazon EMR API est utilisé pour désactiver la protection contre la résiliation. Cela est également vrai si vous utilisez les EMR versions 7.1 ou supérieures d'Amazon 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 dans le stockage de l'instance, y compris HDFS les données, 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 un cluster manuellement à l'aide du AWS Management Console ou AWS CLI. Pour de plus amples informations, veuillez consulter Redimensionner manuellement un cluster 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 de la mise à l'échelle automatique avec une politique personnalisée pour les groupes d'instances.
-
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 les résiliations et Amazon EC2
Le paramètre de protection contre la résiliation dans un EMR cluster Amazon correspond à l'DisableApiTermination
attribut de toutes les EC2 instances Amazon du cluster. Par exemple, si vous activez la protection contre la résiliation dans un EMR cluster, Amazon définit EMR automatiquement DisableApiTermination
la valeur true pour toutes les EC2 instances du EMR cluster. Il en va de même si vous désactivez la protection contre le licenciement. Amazon définit EMR automatiquement DisableApiTermination
la valeur false pour toutes les EC2 instances du EMR cluster. Si vous résiliez ou réduisez un cluster d'Amazon EMR et que les EC2 paramètres Amazon sont en conflit avec une EC2 instance, Amazon EMR donne la priorité au EMR paramètre Amazon par rapport aux DisableApiTermination
paramètres DisableApiStop
et d'Amazon EC2 et continue de mettre fin à l'EC2instance.
Par exemple, vous pouvez utiliser la EC2 console Amazon pour activer la protection contre la résiliation sur une EC2 instance Amazon dans un EMR cluster où la protection contre la résiliation est désactivée. Si vous résiliez ou réduisez le cluster à l'aide de la EMR console Amazon AWS CLI, ou d'Amazon EMRAPI, 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 EC2 console Amazon pour activer la protection d'arrêt sur une EC2 instance Amazon dans un EMR cluster où la protection de résiliation est désactivée. Si vous résiliez ou réduisez le cluster, Amazon EMR définit 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 contre la résiliation dans un EMR cluster, Amazon EMR ne modifie le disableApiStop
paramètre d'aucune des EC2 instances du EMR cluster concerné.
Important
Si vous créez une instance dans le cadre d'un EMR cluster Amazon avec protection contre les interruptions, et que vous utilisez les AWS CLI commandes Amazon EC2 API ou pour modifier l'instance telle qu'elle DisableApiTermination
estfalse
, puis que AWS CLI les commandes Amazon EC2 API ou exécutent l'TerminateInstances
opération, l'EC2instance Amazon se termine.
Protection contre les interruptions de service et YARN nœuds défectueux
Amazon vérifie EMR régulièrement l'YARNétat d'Apache Hadoop des nœuds exécutés sur des EC2 instances Amazon principales et chargées des tâches au sein d'un cluster. L'état de santé est signalé par le service NodeManager de contrôle de santéUNHEALTHY
, le contrôleur d'EMRinstance Amazon l'ajoute à une liste de refus et ne lui alloue aucun YARN conteneur tant qu'il n'est pas redevenu sain. En fonction de l'état de la protection contre la résiliation, du remplacement du nœud défectueux et de la EMR version publiée par Amazon, Amazon EMR remplacera l'instance défectueuse ou cessera d'allouer des contrôleurs à l'instance.
Protection contre la résiliation et exécution de la résiliation après une étape
Lorsque vous activez la résiliation après l'exécution des étapes et que vous activez également la protection contre la résiliation, Amazon EMR ignore la protection contre la 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 Soumission de travail à un cluster.
En cas d'échec d'une étape configurée avec la ActionOnFailure
valeur définie surCANCEL_AND_WAIT
, si l'arrêt après exécution des étapes est activé, 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ées |
Le cluster se résilie |
Activées |
Activées |
Le cluster se résilie |
|
Désactivées |
Activées |
Le cluster continue |
|
Désactivées |
Désactivées |
Le cluster se résilie |
Protection contre la résiliation et instances Spot
EMRLa protection contre la résiliation d'Amazon EC2 n'empêche pas la résiliation d'une instance Amazon Spot 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 les interruptions lorsque vous lancez un cluster à l'aide de la console AWS CLI, du ou duAPI.
Pour les clusters à nœud unique, les paramètres de protection de terminaison par défaut sont les suivants :
-
Lancement d'un cluster par Amazon EMR Console —La protection contre la résiliation est désactivée par défaut.
-
Le lancement d'un cluster par AWS CLI
aws emr create-cluster
—Termination Protection est désactivé sauf indication contraire--termination-protected
. -
Lancement d'un cluster par Amazon EMR API RunJobFlowCommand : la protection contre la résiliation est désactivée sauf si la valeur
TerminationProtected
boolé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 Amazon EMR Console — La protection contre la résiliation est activée par défaut.
-
Le lancement d'un cluster par AWS CLI
aws emr create-cluster
—Termination Protection est désactivé sauf indication contraire--termination-protected
. -
Lancement d'un cluster par Amazon EMR API RunJobFlowCommand : la protection contre la résiliation est désactivée sauf si la valeur
TerminationProtected
boolé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.