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.
Options de réduction des clusters pour les clusters Amazon EMR
Note
Les options de comportement de réduction ne sont plus prises en charge depuis la version 5.10.0 d'Amazon EMR. En raison de l'introduction de la facturation à la seconde dans Amazon EC2, le comportement de réduction par défaut pour les clusters Amazon EMR est désormais de mettre fin à la tâche à la fin de la tâche.
Avec les versions 5.1.0 à 5.9.1 d'Amazon EMR, deux options s'offrent à vous pour réduire le nombre d'heures : terminer la facturation à la limite des heures d'instance pour la facturation Amazon EC2 ou terminer à la fin de la tâche. À compter de la version 5.10.0 d'Amazon EMR, le paramètre de résiliation à la limite des heures d'instance est obsolète en raison de l'introduction de la facturation à la seconde sur Amazon. EC2 Nous déconseillons de spécifier la résiliation à l'échéance horaire de l'instance dans les versions où cette option est disponible.
Avertissement
Si vous utilisez le AWS CLI pour émettre un modify-instance-groups
avecEC2InstanceIdsToTerminate
, ces instances sont immédiatement résiliées, sans tenir compte de ces paramètres, et quel que soit le statut des applications qui y sont exécutées. Une telle résiliation d'une instance peut entraîner une perte des données et un comportement du cluster imprévisible.
Lorsque l'option Terminer à la fin de la tâche est spécifiée, Amazon EMR refuse les listes et vide les tâches des nœuds avant de mettre fin aux instances Amazon. EC2 Quel que soit le comportement spécifié, Amazon EMR ne met pas fin aux EC2 instances Amazon des groupes d'instances principaux si cela peut entraîner une corruption du HDFS.
Mise hors service lors de l'achèvement de la tâche
Amazon EMR vous permet de réduire votre cluster sans attribuer votre charge de travail. Lors d'une opération de redimensionnement, Amazon EMR met gracieusement hors service les démons YARN, HDFS et autres sur les nœuds principaux et les nœuds de tâches, le tout sans perdre de données ni interrompre les tâches. Amazon EMR ne réduit la taille des groupes d'instances que si le travail assigné aux groupes est terminé et qu'ils sont inactifs. Pour YARN NodeManager Graceful Decommission, vous pouvez ajuster manuellement le temps d'attente d'un nœud avant la mise hors service.
Cette durée est définie à l'aide d'une propriété dans la classification de configuration YARN-site
. Avec Amazon EMR versions 5.12.0 et ultérieures, spécifiez la propriété YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs
. Avec les versions antérieures d'Amazon EMR, spécifiez la propriété YARN.resourcemanager.decommissioning.timeout
.
Si des conteneurs ou des applications YARN s'exécutent encore à l'expiration du délai de mise hors service, la mise hors service du nœud est forcée et YARN replanifie les conteneurs attribués sur d'autres nœuds. La valeur par défaut est de 3 600 secondes (une heure). Vous pouvez attribuer une valeur élevée arbitraire à ce délai pour allonger le temps d'attente d'une réduction appropriée. Pour plus d'informations, consultez la section relative au Déclassement gracieux des nœuds YARN
Groupes de nœuds de tâches
Amazon EMR sélectionne intelligemment les instances qui n'ont pas de tâches en cours d'exécution pour une étape ou une application, et supprime d'abord ces instances d'un cluster. Si toutes les instances dans le cluster sont utilisées, Amazon EMR attend que les tâches se terminent sur une instance donnée avant de la supprimer du cluster. Le temps d'attente par défaut est de 1 heure. Cette valeur peut être modifiée à l'aide du paramètre YARN.resourcemanager.decommissioning.timeout
. Amazon EMR utilise dynamiquement le nouveau paramètre. Vous pouvez définir ce paramètre sur un nombre arbitrairement élevé pour garantir qu'Amazon EMR ne met fin à aucune tâche tout en réduisant la taille du cluster.
Groupes de nœuds principaux
Sur les nœuds principaux, les DataNode démons YARN NodeManager et HDFS doivent être mis hors service pour que le groupe d'instances puisse être réduit. Pour YARN, une réduction appropriée garantit qu'un nœud marqué pour mise hors service passe seulement à l'état DECOMMISSIONED
s'il n'y a aucun conteneur ni application en attente ou incomplet. La mise hors service se termine immédiatement s'il n'y a aucun conteneur en cours d'exécution sur le nœud au début de la mise hors service.
Pour HDFS, une réduction appropriée garantit que la capacité cible de HDFS est suffisamment grande pour prendre en charge tous les blocs existants. Si la capacité cible n'est pas suffisamment grande, seule une quantité partielle d'instances principales sont mises hors service, de sorte que les nœuds restants pourront gérer les données actuelles résidant dans HDFS. Vous devriez garantir une capacité HDFS supplémentaire pour permettre de continuer la mise hors service. Vous devez également essayer de minimiser les E/S d'écriture avant de tenter de réduire les groupes d'instances. Des E/S d'écriture excessives peuvent retarder la fin de l'opération de redimensionnement.
Une autre limite est le facteur de réplication par défaut, dfs.replication
dans /etc/hadoop/conf/hdfs-site
. Lorsqu'il crée un cluster, Amazon EMR configure la valeur en fonction du nombre d'instances dans le cluster : 1
avec 1 à 3 instances, 2
pour les clusters avec 4 à 9 instances, et 3
pour les clusters avec plus de 10 instances.
Avertissement
-
Paramétrer
dfs.replication
sur la valeur 1 avec les clusters de moins de quatre nœuds peut entraîner une perte de données HDFS en cas de panne d'un seul nœud. Nous vous recommandons d'utiliser un cluster comportant au moins quatre nœuds principaux pour les charges de travail de production. -
Amazon EMR n'autorisera pas les clusters à mettre à l'échelle les nœuds principaux situés en dessous de
dfs.replication
. Par exemple, sidfs.replication = 2
, le nombre minimum de nœuds principaux est 2. -
Lorsque vous utilisez la mise à l'échelle gérée, autoscaling, ou que vous choisissez de redimensionner manuellement votre cluster, nous vous recommandons de définir
dfs.replication
sur une valeur supérieure ou égale à 2.
La réduction progressive ne vous permet pas de réduire les nœuds principaux en dessous du facteur de réplication HDFS. Cela permet à HDFS de fermer des fichiers en raison d'un nombre insuffisant de répliques. Pour contourner cette limite, réduisez le facteur de réplication et redémarrez le NameNode daemon.