Utiliser la mise à l'échelle gérée dans Amazon EMR - Amazon EMR

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 mise à l'échelle gérée dans Amazon EMR

Important

Nous vous recommandons vivement d'utiliser la dernière version d'Amazon EMR (Amazon EMR 7.1.0) pour un dimensionnement géré. Dans certaines versions antérieures, vous pourriez rencontrer des défaillances intermittentes des applications ou des retards dans la mise à l'échelle. Amazon EMR a résolu ce problème dans les versions 5.30.2, 5.31.1, 5.32.1, 5.33.1 et les versions 5.x ultérieures, ainsi que dans les versions 6.1.1, 6.2.1 et 6.3.1 et les versions 6.x ultérieures. Pour de plus amples informations sur les régions et les zones de disponibilité, consultez Disponibilité de la mise à l'échelle gérée.

Présentation

Avec les versions 5.30.0 et ultérieures d'Amazon EMR (à l'exception d'Amazon EMR 6.0.0), vous pouvez activer la mise à l'échelle gérée par Amazon EMR. La mise à l'échelle gérée vous permet d'augmenter ou diminuer automatiquement le nombre d'instances ou d'unités dans votre cluster en fonction de la charge de travail. Amazon EMR évalue en permanence les métriques de cluster pour prendre des décisions de dimensionnement qui optimisent vos clusters en termes de coût et de vitesse. La mise à l'échelle automatique est disponible pour les clusters composés de groupes d'instances ou de flottes d'instances.

Disponibilité de la mise à l'échelle gérée

  • Dans ce qui suit Régions AWS, le dimensionnement géré par Amazon EMR est disponible avec Amazon EMR 6.14.0 et versions ultérieures :

    • Asie-Pacifique (Hyderabad) (ap-south-2)

    • Asie-Pacifique (Jakarta) (ap-southeast-3)

    • Europe (Espagne) (eu-south-2)

  • Dans ce qui suit Régions AWS, le dimensionnement géré par Amazon EMR est disponible avec Amazon EMR 5.30.0, 6.1.0 et versions ultérieures :

    • USA Est (Virginie du Nord) (us-east-1)

    • USA Est (Ohio) (us-east-2)

    • USA Ouest (Oregon) (us-west-2)

    • US Ouest (N. California) (us-west-1)

    • Afrique (Le Cap) (af-south-1)

    • Asie-Pacifique (Hong Kong) (ap-east-1)

    • Asie-Pacifique (Mumbai) (ap-south-1)

    • Asie-Pacifique (Séoul) (ap-northeast-2)

    • Asie-Pacifique (Singapour) (ap-southeast-1)

    • Asie-Pacifique (Sydney) (ap-southeast-2)

    • Asie-Pacifique (Tokyo) (ap-northeast-1)

    • Canada (Centre) (ca-central-1)

    • Amérique du Sud (São Paulo) (sa-east-1)

    • Europe (Francfort) (eu-central-1)

    • Europe (Irlande) (eu-west-1)

    • Europe (Londres) (eu-west-2)

    • Europe (Milan) (eu-south-1)

    • Europe (Paris) (eu-west-3)

    • Europe (Stockholm) (eu-north-1)

    • Chine (Beijing) cn-north-1

    • Chine (Ningxia) cn-northwest-1

    • AWS GovCloud (USA Est) (us-gov-east-1)

    • AWS GovCloud (US-Ouest) (us-gov-west-1)

  • La mise à l'échelle gérée par Amazon EMR fonctionne uniquement avec des applications YARN, telles que Spark, Hadoop, Hive, Flink. Elle ne prend pas en charge les applications non basées sur YARN, telles que Presto et HBase.

Paramètres de mise à l'échelle gérée

Vous devez configurer les paramètres suivants pour la mise à l'échelle gérée. La limite s'applique uniquement aux nœuds principaux et aux nœuds de tâches. Le nœud primaire ne peut pas être mis à l'échelle après la configuration initiale.

  • Minimum (MinimumCapacityUnits) : limite inférieure de la capacité EC2 autorisée dans un cluster. Elle est mesurée par le biais de cœurs ou d'instances d'unités centrales virtuelles (vCPU) pour les groupes d'instances. Elle est mesuré par des unités, par exemple des flottes d'instance.

  • Maximum (MaximumCapacityUnits) : limite supérieure de la capacité EC2 autorisée dans un cluster. Elle est mesurée par le biais de cœurs ou d'instances d'unités centrales virtuelles (vCPU) pour les groupes d'instances. Elle est mesuré par des unités, par exemple des flottes d'instance.

  • Limite à la demande (MaximumOnDemandCapacityUnits) (facultatif) : limite supérieure de la capacité EC2 autorisée pour le type de marché à la demande dans un cluster. Si ce paramètre n'est pas spécifié, une valeur par défaut de MaximumCapacityUnits sera utilisée.

    • Ce paramètre est utilisé pour diviser l'allocation de capacité entre les instances à la demande et les instances Spot. Par exemple, si vous définissez le paramètre minimum à 2 instances, le paramètre maximum à 100 instances, la limite à la demande à 10 instances, la mise à l'échelle gérée par Amazon EMR augmente jusqu'à 10 instances à la demande et alloue la capacité restante aux instances Spot. Pour plus d’informations, consultez Scénarios d'allocation de nœuds.

  • Nombre maximum de nœuds principaux (MaximumCoreCapacityUnits) (Facultatif) : limite supérieure de la capacité EC2 autorisée pour le type de nœud principal dans un cluster. Si ce paramètre n'est pas spécifié, une valeur par défaut de MaximumCapacityUnits sera utilisée.

    • Ce paramètre est utilisé pour diviser l'allocation de capacité entre les nœuds de base et les nœuds de tâche. Par exemple, si vous définissez le paramètre minimum à 2 instances, le maximum à 100 instances, le nœud principal maximal à 17 instances, la mise à l'échelle gérée par Amazon EMR augmente jusqu'à 17 nœuds principaux et alloue les 83 instances restantes aux nœuds de tâches. Pour plus d’informations, consultez Scénarios d'allocation de nœuds.

Pour plus d'informations sur les paramètres de mise à l'échelle gérée, consultez ComputeLimits.

Considérations relatives à la mise à l'échelle gérée par Amazon EMR

  • Le dimensionnement géré est pris en charge dans les versions limitées Régions AWS et dans les versions d'Amazon EMR. Pour plus d’informations, consultez Disponibilité de la mise à l'échelle gérée.

  • Vous devez configurer les paramètres requis pour la mise à l'échelle gérée par Amazon EMR. Pour plus d’informations, consultez Paramètres de mise à l'échelle gérée.

  • Pour utiliser la mise à l'échelle gérée, le processus de collecte de mesures doit pouvoir se connecter au point de terminaison d'API public pour une mise à l'échelle gérée dans la passerelle d'API. Si vous utilisez un nom DNS privé avec Amazon Virtual Private Cloud, le dimensionnement géré ne fonctionnera pas correctement. Pour garantir le bon fonctionnement de la mise à l'échelle gérée, nous vous recommandons de prendre l'une des mesures suivantes :

  • Si vos tâches YARN sont ralenties par intermittence pendant la réduction et que les journaux du gestionnaire de ressources YARN indiquent que la plupart de vos nœuds ont été placés sur liste noire pendant cette période, vous pouvez ajuster le seuil de délai de mise hors service.

    Réduisez le spark.blacklist.decommissioning.timeout d'une heure à une minute pour que le nœud soit disponible et que d'autres conteneurs en attente puissent poursuivre le traitement des tâches.

    Vous devez également définir YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs sur une valeur plus élevée afin de vous assurer qu'Amazon EMR ne force pas la fermeture du nœud alors que la plus longue « tâche Spark » est toujours en cours d'exécution sur le nœud. La valeur par défaut actuelle est de 60 minutes, ce qui signifie que YARN force la fermeture du conteneur au bout de 60 minutes une fois que le nœud entre en état de mise hors service.

    L'exemple de ligne de journal du gestionnaire de ressources YARN suivant montre les nœuds ajoutés à l'état de mise hors service :

    2021-10-20 15:55:26,994 INFO org.apache.hadoop.YARN.server.resourcemanager.DefaultAMSProcessor (IPC Server handler 37 on default port 8030): blacklist are updated in Scheduler.blacklistAdditions: [ip-10-10-27-207.us-west-2.compute.internal, ip-10-10-29-216.us-west-2.compute.internal, ip-10-10-31-13.us-west-2.compute.internal, ... , ip-10-10-30-77.us-west-2.compute.internal], blacklistRemovals: []

    Découvrez plus de détails sur la manière dont Amazon EMR s'intègre à la liste noire YARN lors de la mise hors service des nœuds, sur les cas où des nœuds Amazon EMR peuvent être répertoriés sur la liste de refus et sur la configuration du comportement de mise hors service des nœuds Spark.

  • La surutilisation des volumes EBS peut entraîner des problèmes de mise à l'échelle gérée. Nous vous recommandons de maintenir le volume EBS en dessous de 90 % d'utilisation. Pour plus d’informations, consultez Stockage d’instances.

  • Les CloudWatch métriques Amazon sont essentielles au bon fonctionnement de la mise à l'échelle gérée par Amazon EMR. Nous vous recommandons de suivre de près les CloudWatch métriques Amazon pour vous assurer que les données ne sont pas manquantes. Pour plus d'informations sur la façon dont vous pouvez configurer les CloudWatch alarmes afin de détecter les métriques manquantes, consultez Utiliser les CloudWatch alarmes Amazon.

  • Les opérations de mise à l'échelle gérées sur des clusters 5.30.0 et 5.30.1 sans Presto installé peuvent provoquer des défaillances d'applications ou empêcher le maintien d'un groupe d'instances ou d'une flotte d'instances uniforme dans l'état ARRESTED, en particulier lorsqu'une opération de réduction est rapidement suivie d'une opération d'augementation.

    Pour contourner le problème, choisissez Presto comme application à installer lorsque vous créez un cluster avec les versions 5.30.0 et 5.30.1 d'Amazon EMR, même si votre travail ne nécessite pas Presto.

  • Lorsque vous définissez le nombre maximal de nœuds principaux et la limite à la demande pour la mise à l'échelle gérée par Amazon EMR, tenez compte des différences entre les groupes d'instances et les flottes d'instances. Chaque groupe d'instances se compose du même type d'instance et de la même option d'achat d'instances : À la demande ou Spot. Pour chaque flotte d'instances, vous pouvez indiquer jusqu'à cinq types d'instance, lesquels peuvent être mis en service en tant qu'instances À la demande ou en tant qu'instances Spot. Pour plus d'informations, consultez Créer un cluster avec des flottes d'instances ou des groupes d'instances uniformes, Options des flottes d'instances et Scénarios d'allocation de nœuds.

  • Avec Amazon EMR 5.30.0 et versions ultérieures, si vous supprimez la règle Autoriser tous les accès sortants par défaut sur 0.0.0.0/ pour le groupe de sécurité principal, vous devez ajouter une règle qui autorise la connectivité TCP sortante à votre groupe de sécurité pour l'accès au service sur le port 9443. Votre groupe de sécurité pour l'accès aux services doit également autoriser le trafic TCP entrant sur le port 9443 à partir du groupe de sécurité principal. Pour plus d'informations sur la configuration des groupes de sécurité, consultez Groupe de sécurité géré par Amazon EMR pour l'instance principale (sous-réseaux privés).

  • La mise à l'échelle gérée ne prend pas en charge la fonctionnalité d'étiquettes de nœuds YARN. Évitez d'utiliser des étiquettes de nœuds sur les clusters dotés d'une mise à l'échelle gérée. Par exemple, n'autorisez pas les exécuteurs à s'exécuter uniquement sur les nœuds de tâches. Lorsque vous utilisez des étiquettes de nœuds dans vos clusters Amazon EMR, il se peut que vous constatiez que votre cluster ne s'agrandit pas, ce qui peut entraîner un ralentissement de votre application.

  • Vous pouvez l'utiliser AWS CloudFormation pour configurer le dimensionnement géré par Amazon EMR. Pour plus d'informations, consultez AWS::EMR::Clusterle guide de AWS CloudFormation l'utilisateur.

Historique des fonctionnalités

Ce tableau répertorie les mises à jour apportées à la fonctionnalité de mise à l'échelle gérée par Amazon EMR.

Date de publication Capacité Versions Amazon EMR
31 mars 2024 Le dimensionnement géré est disponible dans la région ap-south-2 Asie-Pacifique (Hyderabad). 6.14.0 et ultérieures
13 février 2024 Le dimensionnement géré est disponible dans la région eu-south-2 Europe (Espagne). 6.14.0 et ultérieures
10 octobre 2023 La mise à l'échelle gérée est disponible dans la Région Asie-Pacifique (Jakarta) ap-southeast-3. 6.14.0 et ultérieures
28 juillet 2023 Mise à l'échelle gérée améliorée pour passer à un autre groupe d'instances de tâches lors de l'augmentation quand Amazon EMR connaît un retard dans l'augmentation avec le groupe d'instances actuel. 5.34.0 et ultérieures, 6.4.0 et ultérieures
16 juin 2023 Mise à l'échelle gérée améliorée pour prendre en compte les nœuds exécutant le noeud principal de l'application master afin que ces nœuds ne soient pas réduits. Pour plus d’informations, consultez Comprendre la stratégie et les scénarios d'allocation des nœuds. 5.34.0 et ultérieures, 6.4.0 et ultérieures
21 mars 2022 Ajout de la fonction de reconnaissance des données de réorganisation Spark utilisée lors de la réduction de la taille des clusters. Pour les clusters Amazon EMR dotés d'Apache Spark et de la fonctionnalité de mise à l'échelle gérée activée, Amazon EMR surveille en permanence les exécuteurs Spark et les emplacements de données de réorganisation intermédiaires. À l'aide de ces informations, Amazon EMR réduit uniquement les instances sous-utilisées qui ne contiennent pas de données de réorganisation utilisées activement. Cela évite de recalculer les données de réorganisation perdues, ce qui contribue à réduire les coûts et à améliorer les performances au travail. Pour plus d'informations, consultez le Guide de programmation de Spark. 5.34.0 et ultérieures, 6.4.0 et ultérieures