Optimisation des clusters Amazon EMR pour réduire les coûts et améliorer la mise à l'échelle

à l'aide d'instances Spot EC2 et d'Amazon EMR

Amazon EMR fournit un framework Hadoop géré qui permet de traiter de manière simple, rapide et économique de grandes quantités de données sur des instances Amazon EC2 dynamiquement scalables. Vous pouvez également exécuter d'autres frameworks distribués courants tels qu'Apache Spark, HBase, Presto et Flink dans EMR, et interagir avec les données dans d'autres magasins de données AWS comme Amazon S3 et Amazon DynamoDB. EMR Notebooks, développé à partir du notebook très prisé Jupyter, fournit un environnement de développement et de collaboration pour des requêtes ad hoc et l'analyse exploratoire. EMR gère en toute sécurité et fiabilité un large éventail de cas d'utilisation de Big Data, tels que l'analyse des journaux, l'indexation Web, les transformations de données (ETL), le machine learning, l'analyse financière, la simulation scientifique et la recherche bio-informatique.

Les instances Spot Amazon EC2 offrent une réserve de capacité de calcul dans le Cloud AWS à des prix beaucoup plus avantageux que ceux des instances à la demande. EC2 peut interrompre les instances Spot. Pour ce faire, EC2 envoie une notification deux minutes avant, lorsqu'elle doit récupérer de la capacité. Vous pouvez utiliser les instances Spot pour une variété d'applications flexibles et tolérantes aux pannes, notamment l'analyse, les charges de travail conteneurisées, le calcul haute performance (HPC), les serveurs Web sans état, le rendu, CI/CD et d'autres charges de travail de test et de développement.

Ce didacticiel vous apprend comment lancer votre premier cluster Amazon EMR sur des instances Spot Amazon EC2 en utilisant l'assistant de création de clusters. Exécuter Amazon EMR sur des instances Spot permet de réduire considérablement les coûts de Big Data, d'accroître substantiellement la capacité de calcul et de réduire les délais de traitement de vastes ensembles de données.

À propos de ce didacticiel
Durée 10 à 20 minutes      
Coût Gratuit
Cas d'utilisation Calcul
Produits Amazon EMR, instances Spot EC2
Niveau 200
Dernière mise à jour 4 février 2020

Étape 1 : Création d’un cluster avec des options avancées

1.1 — Ouvrez un navigateur et accédez à la console Amazon EMR. Vous pouvez également rechercher EMR ou localiser Amazon EMR sous la section Analyse de la page d’accueil de la console. Si vous avez déjà un compte AWS, connectez-vous à la console. Dans le cas contraire, créez un nouveau compte AWS pour démarrer.

Vous possédez déjà un compte ? Connectez-vous à votre compte

1.2 — En haut à droite, sélectionnez la région où vous souhaitez lancer le cluster Amazon EMR.

1.3 — Cliquez sur Créer un cluster dans la fenêtre Amazon EMR.

1.4 — Cliquez sur Accéder aux options avancées dans la fenêtre Créer un cluster.

Étape 2 : Configuration des logiciels du cluster et des étapes à suivre

2.1 — Dans la section software configuration (configuration des logiciels), sélectionnez les logiciels requis pour votre cluster ou conservez les paramètres par défaut pour démarrer rapidement.

2.2 — Fournissez éventuellement toutes les informations de configuration requises pour vous connecter à AWS Glue Data Catalog, ainsi que tous les fichiers de configuration que vous souhaitez utiliser lors de la configuration des logiciels de votre cluster.

Laissez l'option use multiple master nodes to improve cluster availability (utiliser plusieurs nœuds principaux pour améliorer la disponibilité du cluster) désactivée, car elle n'est pas compatible avec les flottes d'instances, que nous allons configurer dans les étapes suivantes.

2.3 — Configurez éventuellement toutes les étapes à exécuter par votre cluster une fois provisionné, ou sautez cette étape pour lancer rapidement votre cluster.

Vous pouvez utiliser les étapes d'Amazon EMR pour soumettre du travail au framework Spark installé sur un cluster EMR. Pour plus d'informations, consultez la section Étapes du guide de gestion d'Amazon EMR. Dans la console et l'interface de ligne de commande, vous soumettez du travail en utilisant l'étape de l'application Spark, qui exécute pour vous le script spark-submit en tant qu'étape. Avec l'API, vous utilisez une étape pour appeler le script spark-submit à l'aide de command-runner.jar.

2.4 — Après une vérification rapide de la configuration de vos logiciels, vous pouvez passer à l'étape suivante pour configurer les ressources matérielles de votre cluster.

Cliquez sur Next (Suivant) pour continuer.

Étape 3 : Configuration des flottes d'instances

3.1 — Sélectionnez instance fleets (flottes d'instances) dans la section instance group configuration (configuration des groupes d'instances).

Les flottes d'instances permettent d'implémenter la diversification des instances, une pratique très recommandée dans l'utilisation des instances Spot EC2. La diversification des instances vous permet d'utiliser plusieurs types d'instances, garantissant ainsi non seulement l'allocation par Amazon EMR de toutes les capacités dont votre cluster a besoin, mais aussi la gestion automatisée des interruptions.

3.2 — Sélectionnez le VPC et un ou plusieurs sous-réseaux dans lesquels vous souhaitez déployer votre cluster Amazon EMR.

Nous vous recommandons de choisir plus d'une zone de disponibilité. Votre cluster sera toujours déployé dans une seule zone de disponibilité. Cependant, en sélectionnant plusieurs zones de disponibilité, Amazon EMR les analyse toutes afin de déployer votre cluster dans celle ayant la meilleure capacité Spot EC2 pour exécuter votre cluster.

3.3 — Configurez la taille du volume EBS de l'appareil racine au besoin, ou laissez la valeur par défaut pour continuer.

3.4 — Faites défiler jusqu'à la section task instance fleet (flotte d'instances de la tâche), puis sélectionnez add/remove instance types to fleet (ajouter/supprimer les types d'instances à la flotte).

Les flottes d'instances vous permettent de spécifier jusqu'à cinq types d'instances par flotte. Ainsi, Amazon EMR peut allouer de la capacité à partir de plusieurs groupes de capacités Spot EC2 disponibles.

Nous vous recommandons d'utiliser les instances à la demande pour les nœuds principaux et de base, sauf si vous lancez des charges de travail très éphémères.

Pour en savoir plus sur les cas d'utilisation types et examiner les recommandations en matière d'utilisation des instances Spot EC2 avec Amazon EMR, cliquez ici.

3.5 — Sélectionnez jusqu'à cinq types d'instances à utiliser dans la flotte d'instances du nœud de votre tâche. Vous devriez prendre en compte les types d'instances ayant des ratios VCPU/mémoire similaires sur plusieurs familles d'instances.

Vous pouvez utiliser Spot Instance Advisor pour en savoir plus sur la moyenne des économies de coûts et des taux d'interruptions pour les instances compatibles EMR. 

3.6 — Configurez les unités à la demande et Spot de votre flotte d'instances, et éventuellement les unités de chaque type d'instance.

Augmenter le nombre d'unités à la demande et Spot permet de déterminer quelle quantité de capacité est allouée pour votre cluster. Pour démarrer rapidement et réduire les coûts de cette démonstration, nous vous recommandons de ne déployer que quelques unités Spot (8 par exemple) et aucune unité à la demande.

Par défaut, les unités de chaque type d'instance correspondent au nombre de vCores de chaque type d'instance. Vous pouvez configurer ces paramètres au besoin pour améliorer la pondération des différents types d'instances, ce que prendra en compte Amazon EMR pour allouer de la capacité pour votre flotte d'instances.

Vous pouvez également indiquer le nombre d'unités à exécuter parmi les instances à la demande ou les instances Spot EC2. Ainsi, vous pouvez combiner plusieurs types d'instances et acheter des options en vue de la diversification des instances et d'obtenir la capacité requise pour votre cluster.

3.7 — Configurez éventuellement les options defined duration (durée définie) et provisioning timeout (temporisation du provisionnement) de votre cluster.

La temporisation du provisionnement vous permet de définir le comportement de votre cluster si Amazon EMR ne peut pas allouer de la capacité pour votre flotte d'instances. Le comportement par défaut est Terminate (Résilier). Toutefois, votre cluster peut éventuellement tenter de provisionner des instances à la demande plutôt que des instances Spot si le délai de temporisation est dépassé.

Pour en savoir plus sur ces options, consultez cette page.

3.8 — Après une brève vérification de la configuration de vos ressources matérielles, vous pouvez passer à l'étape suivante pour configurer les paramètres généraux de votre cluster.

Cliquez sur Next (Suivant) pour continuer.

Étape 4 : Paramètres généraux du cluster

4.1 — Nommez votre cluster ou acceptez le nom par défaut my cluster (mon cluster) pour continuer.

Vous pouvez éventuellement configurer les options logging (journalisation), debugging (débogage) et termination protection (protection contre la résiliation). 

Pour en savoir plus sur les options logging (journalisation) et debugging (débogage), cliquez ici.

Pour en savoir plus sur l'option termination protection (protection contre la résiliation), cliquez ici.

4.2 — Configurez éventuellement toutes les balises correspondantes de votre cluster. Les balises permettent d'identifier à quelle équipe ou quel environnement appartient le cluster que vous créez.

Pour en savoir plus sur le balisage, rendez-vous ici.
 

4.3 — Configurez éventuellement toutes les optons supplémentaires requises pour votre cluster, par exemple la vue cohérente EMRFS, un ID d'AMI personnalisée ou les actions d'amorçage.

4.4 — Après une brève vérification de la configuration générale de votre cluster, vous pouvez passer à l'étape suivante pour configurer les paramètres de sécurité du cluster.

Cliquez sur Next (Suivant) pour continuer. 

Étape 5 : Sécurité

5.1 — Configurez éventuellement tous les paramètres de sécurité requis pour votre cluster, notamment les paires de clés, les rôles et profils d'instances, les groupes de sécurité et le chiffrement.

5.2 — Après une brève vérification des configurations de sécurité de votre cluster, vous pouvez créer ce dernier.

Cliquez sur create cluster (créer un cluster) pour lancer votre nouveau cluster Amazon EMR exécutant les instances Spot EC2.

Félicitations

Vous avez lancé avec succès un cluster Amazon EMR sur les instances Spot EC2. Vous pouvez à présent intégrer les instances Spot à vos clusters EMR et commencer à optimiser vos charges de travail Big Data afin de réduire les coûts et d'améliorer les performances.

Ce didacticiel vous a-t-il été utile ?

Merci
Merci de nous indiquer ce que vous avez aimé.
Fermer
Nous sommes désolés de vous décevoir.
Quelque chose est-il obsolète, déroutant ou inexact ? Aidez-nous à améliorer ce didacticiel en fournissant des commentaires.
Fermer

Exécution d'applications Spark avec EMR

Maintenant que vous avez appris comment utiliser les instances Spot EC2 avec Amazon EMR, vous pouvez implémenter les flottes d'instances, ainsi que les autres bonnes pratiques acquises par le biais de vos propres charges de travail. Pour approfondir votre apprentissage, nous vous recommandons de suivre l'atelier d'autoformation disponible ici.

Lire la documentation

Pour en savoir plus sur les fonctionnalités et les capacités d'Amazon EMR, lisez le guide de gestion d'Amazon EMR.

En savoir plus sur les instances Spot Amazon EC2

Pour en savoir plus sur les instances Spot Amazon EC2, rendez-vous à la page produit des instances Spot Amazon EC2 pour lire la documentation et les blogs, regarder des vidéos, etc.