Logo Zéphyrnet

Améliorations de la gestion de la capacité et de la mise à l'échelle gérée d'Amazon EMR pour Amazon EMR sur les clusters EC2 | Services Web Amazon

Date :

In 2022, nous vous avons parlé des nouvelles améliorations que nous avons apportées à Mise à l'échelle gérée par Amazon EMR, ce qui a contribué à améliorer l'utilisation du cluster ainsi qu'à réduire les coûts du cluster. En 2023, nous sommes heureux d'annoncer que l'équipe Amazon EMR a travaillé dur. Nous avons travaillé à rebours des exigences des clients et lancé plusieurs nouvelles fonctionnalités pour améliorer votre expérience de gestion de la capacité et de mise à l'échelle des clusters Amazon EMR sur EC2.

Amazon DME est la solution cloud Big Data pour le traitement de données à l'échelle du pétaoctet, l'analyse interactive et l'apprentissage automatique (ML) utilisant des frameworks open source tels que Apache Spark, Ruche Apacheet une Presto. Les clients nous ont demandé des fonctionnalités qui amélioreraient encore la gestion de la capacité et l'expérience de mise à l'échelle de leur EMR sur les clusters EC2, y compris leurs grands clusters à long terme. Nous avons travaillé dur pour répondre à ces besoins. Voici quelques-unes des principales améliorations :

  • Transparence et flexibilité améliorées pour les clients grâce au délai d'expiration du provisionnement pour les instances Spot.
  • Mise à l'échelle optimisée des nœuds de tâches pour les clusters Amazon EMR sur EC2 lancée avec des groupes d'instances
  • Résilience professionnelle améliorée grâce à une protection améliorée pour les pilotes Spark

Approfondissons et discutons en détail des nouvelles fonctionnalités d'Amazon EMR sur EC2.

Transparence et flexibilité améliorées pour les clients grâce au délai d'expiration du provisionnement pour les instances Spot.

De nombreux clients Amazon EMR utilisent Instances ponctuelles EC2 pour leur EMR sur les clusters EC2 afin de réduire les coûts. Les instances Spot sont disponibles Cloud de calcul élastique Amazon (Amazon EC2) offerte avec des remises allant jusqu'à 90 % par rapport aux tarifs à la demande. Amazon EMR vous offre la possibilité de mettre à l'échelle votre cluster manuellement ou à l'aide de Mise à l'échelle automatique. Vous pouvez également utiliser le Mise à l'échelle gérée par Amazon EMR fonctionnalité pour redimensionner automatiquement votre cluster en fonction de la charge de travail et de l'utilisation.

Pour améliorer l'expérience client lors de la mise à l'échelle à l'aide d'instances Spot, pour les clusters EMR sur EC2 lancés à l'aide de parcs d'instances, vous pouvez désormais spécifier un délai d'expiration de provisionnement pour les instances Spot. Un délai d'expiration de provisionnement indiquera à Amazon EMR d'arrêter de provisionner la capacité de l'instance Spot si le cluster dépasse un seuil de temps spécifié lors des opérations de mise à l'échelle du cluster. Vous pouvez configurer le délai d'expiration du provisionnement de l'instance Spot pour les clusters redimensionnés manuellement ou à l'aide d'Amazon EMR Managed Scaling et Auto Scaling.

De plus, pour offrir une meilleure transparence, lorsque le délai d'expiration expire, Amazon EMR enverra également automatiquement les événements à un Événements Amazon CloudWatch flux. Avec ces événements CloudWatch, vous pouvez créer des règles qui correspondent aux événements selon un modèle spécifié, puis acheminer les événements vers des cibles pour qu'elles prennent des mesures. Pour en savoir plus, veuillez vous référer à Personnaliser un délai d'expiration de provisionnement pour le redimensionnement du cluster dans Amazon EMR.

Veuillez trouver ci-dessous un résumé de l'expérience pour différents scénarios lorsque vous configurez un délai d'expiration de provisionnement lors du redimensionnement de votre cluster Amazon EMR sur EC2.

Scénario Expérience
Amazon EMR est capable de provisionner la capacité Spot souhaitée avant l'expiration du délai de provisionnement Amazon EMR fait automatiquement évoluer le cluster jusqu'à la capacité souhaitée et aucune action n'est requise de la part du client.
Amazon EMR n'est pas en mesure de provisionner de capacité Spot ou ne peut provisionner qu'une capacité Spot partielle et le délai d'expiration du provisionnement a expiré Si Amazon EMR ne peut pas provisionner la capacité Spot requise et que le délai de provisionnement a expiré, Amazon EMR annulera la demande de redimensionnement et interrompra ses tentatives de provisionnement de capacité Spot supplémentaire. Amazon EMR publiera également les événements dans un flux Amazon CloudWatch Events. Les clients peuvent utiliser ces événements pour créer des règles et prendre les mesures appropriées
Si les instances Spot de vos clusters Amazon EMR sur EC2 sont interrompues car Amazon EC2 en a besoin Amazon EMR déclenchera automatiquement une nouvelle demande de redimensionnement pour rééquilibrer vos clusters en remplaçant les instances par l'un des types disponibles dans votre cluster. Amazon EMR utilisera également le même délai d'expiration de redimensionnement du provisionnement qui a été configuré sur le cluster. Aucune action n’est requise de la part du client.

Vous devez tenir compte du caractère critique de la disponibilité de la capacité lorsque vous spécifiez la valeur du délai d'expiration du provisionnement :

  • Lorsque la disponibilité de la capacité de votre charge de travail est critique - Pour garantir que la capacité souhaitée est disponible, nous vous recommandons de configurer le délai d'expiration du redimensionnement du provisionnement en fonction du temps nécessaire à l'exécution de l'application et des SLA de l'application. Par exemple, si le SLA de l'application est de 60 minutes et que l'exécution de l'application prend 30 minutes, vous devez définir le délai d'expiration du provisionnement du redimensionnement sur 30 minutes ou moins. Amazon EMR tentera de provisionner la capacité Spot jusqu'à l'expiration du délai (30 minutes ou moins) et publiera un événement CloudWatch afin que vous puissiez prendre les mesures appropriées.
  • Lorsque votre charge de travail est flexible dans le temps et que la disponibilité des capacités n'est pas un facteur - Si la charge de travail est flexible dans le temps et que la disponibilité de la capacité n'est pas un facteur, pour garantir la plus grande probabilité d'obtenir la capacité Spot souhaitée, vous pouvez configurer une valeur de délai d'expiration plus élevée pour le délai d'expiration du provisionnement du redimensionnement.

Mise à l'échelle optimisée des nœuds de tâches pour Amazon EMR sur les clusters EC2 lancée avec les groupes d'instances

Les groupes d'instances offrent une configuration plus simple pour lancer EMR sur les clusters EC2. Chaque cluster lancé à l'aide de groupes d'instances peut inclure jusqu'à 50 groupes d'instances : un groupe d'instances principal contenant une instance EC2, un groupe d'instances principal contenant une ou plusieurs instances EC2 et jusqu'à 48 groupes d'instances de tâches facultatifs. Vous pouvez mettre à l'échelle chaque groupe d'instances en ajoutant et en supprimant des instances EC2 manuellement, ou vous pouvez configurer la mise à l'échelle automatique. Vous pouvez également utiliser la fonctionnalité Amazon EMR Managed Scaling pour redimensionner automatiquement votre cluster en fonction de la charge de travail et de l'utilisation.

Pour améliorer l'expérience client pour les groupes d'instances sur les clusters EMR sur EC2 lors de la mise à l'échelle des nœuds de tâches à l'aide d'Amazon EMR Managed Scaling, nous avons amélioré l'algorithme de mise à l'échelle gérée pour choisir les groupes d'instances de tâches qui ont la plus forte probabilité d'acquérir de la capacité. De plus, lorsque la mise à l'échelle gérée ne parvient pas à acquérir de la capacité avec un seul groupe d'instances de tâches, afin de réduire les délais de mise à l'échelle, Amazon EMR passe automatiquement à un autre groupe de tâches et remplit la capacité en utilisant plusieurs groupes d'instances de tâches. Par conséquent, plus vous êtes flexible quant à vos types d’instances, plus vous avez de chances de provisionner de la capacité. Pour en savoir plus, reportez-vous à Meilleures pratiques par exemple et flexibilité de la zone de disponibilité.

Résilience professionnelle améliorée grâce à une protection améliorée pour les pilotes Spark

In 2022, pour améliorer la résilience des tâches lors de l'utilisation d'Amazon EMR Managed Scaling, nous avons amélioré la mise à l'échelle gérée pour qu'elle prenne en compte les données Spark shuffle, ce qui empêche la réduction des instances qui stockent les données shuffle intermédiaires pour Apache Spark. Cela permet d'éviter les nouvelles tentatives de travail et les recalculs, ce qui conduit à de meilleures performances et à une réduction des coûts.

Pour améliorer encore la résilience des tâches lors de l'utilisation d'Amazon EMR Managed Scaling, nous avons encore amélioré la mise à l'échelle gérée pour prendre en compte Spark Driver, ce qui garantit que lors de la réduction du cluster, Amazon EMR Managed Scaling donne la priorité à la réduction des nœuds qui n'ont pas de Spark Driver actif exécuté sur eux. Cela permet de minimiser les échecs de tâches et les nouvelles tentatives de tâches, contribuant ainsi à améliorer davantage les performances et à réduire les coûts. Cette amélioration est activée par défaut pour les clusters EMR utilisant les versions Amazon EMR 5.34.0 et ultérieures, et les versions Amazon EMR 6.4.0 et ultérieures.

Pour confirmer quels nœuds de votre cluster exécutent Spark Driver, vous pouvez visiter le serveur d'historique Spark et filtrer le pilote sur le Exécuteurs de l'ID de votre application Spark.

Conclusion

Dans cet article, nous avons souligné les améliorations que nous avons apportées à la gestion de la capacité et à Amazon EMR Managed Scaling pour EMR sur les clusters EC2. Nous nous sommes concentrés sur l'amélioration de la résilience des tâches, l'amélioration de la flexibilité et de la transparence lors du provisionnement des instances Spot, ainsi que sur l'optimisation de l'expérience de mise à l'échelle lors de l'utilisation de la mise à l'échelle gérée avec des groupes d'instances sur Amazon EMR sur des clusters EC2. Bien que nous ayons lancé plusieurs fonctionnalités jusqu'à présent en 2023 et que le rythme de l'innovation continue de s'accélérer, nous n'en sommes qu'au premier jour et nous sommes impatients de vous entendre sur la manière dont ces fonctionnalités vous aident à générer plus de valeur pour vos organisations. Nous vous invitons à essayer ces nouvelles fonctionnalités et à nous contacter via l'équipe de votre compte AWS si vous avez d'autres commentaires.


À propos des auteurs

Sushant Majithia est chef de produit principal pour EMR chez AWS.

Ankur Goyal est un SDM avec l'équipe Amazon EMR Big Data Platform. Il construit des applications distribuées à grande échelle et des algorithmes d'optimisation de cluster. Ankur s'intéresse aux sujets d'analyse, d'apprentissage automatique et de prévision.

Matthieu Liem est Senior Solution Architecture Manager chez AWS.

Tarun Chanana est un SDM avec l'équipe Amazon EMR Big Data Platform.

spot_img

Dernières informations

spot_img