Présentation d'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.

Présentation d'Amazon EMR

Cette rubrique fournit une présentation des clusters Amazon EMR, y compris de la façon de soumettre du travail à un cluster, de la manière dont ces données sont traitées et des différents états par lesquels le cluster passe au cours de ce traitement.

Présentation des clusters et des nœuds

Le composant central de Amazon EMR est le cluster. Un cluster est un ensemble d'instances Amazon Elastic Compute Cloud (Amazon EC2). Chaque instance dans le cluster est appelée un nœud. Chaque nœud dispose d'un rôle dans le cluster, qu'on appelle le type de nœud. Amazon EMR installe également des composants logiciels différents sur chaque type de nœud, conférant ainsi à chaque nœud un rôle dans une application distribuée telle qu'Apache Hadoop.

Les types de nœud dans Amazon EMR sont les suivants :

  • Nœud principal : nœud qui gère le cluster en exécutant des composants logiciels pour coordonner la distribution des données et des tâches entre d'autres nœuds en vue de leur traitement. Le nœud maître effectue le suivi du statut des tâches et surveille l'état du cluster. Chaque cluster a un nœud maître ; il est possible de créer un cluster à nœud unique avec seulement le nœud maître.

  • Nœud de noyau : nœud doté de composants logiciels qui exécutent les tâches et stockent les données dans le système de fichiers distribué Hadoop (HDFS) sur votre cluster. Les clusters à plusieurs nœuds ont au moins un nœud principal.

  • Nœud de tâche : nœud doté de composants logiciels qui exécutent uniquement des tâches et ne stockent pas les données dans HDFS. Les nœuds de tâches sont facultatifs.

Le schéma suivant représente un cluster avec un seul nœud principal et quatre nœuds de noyau.

Soumission de travail à un cluster

Lorsque vous exécutez un cluster sur Amazon EMR, vous avez plusieurs options quant à la façon de spécifier le travail qui doit être effectué.

  • Fournissez la définition complète du travail à effectuer dans des fonctions que vous spécifiez en tant qu'étapes lorsque vous créez un cluster. Cette solution est privilégiée pour les clusters qui traitent une quantité déterminée de données, puis sont arrêtés une fois le traitement terminé.

  • Créez un cluster de longue durée et utilisez la console Amazon EMR, l'API Amazon EMR ou l'AWS CLI pour soumettre des étapes, lesquelles peuvent contenir un travail ou plusieurs travaux. Pour plus d'informations, consultez Soumission de travail à un cluster.

  • Créez un cluster, connectez-vous au nœud maître et aux autres nœuds si nécessaire à l'aide de SSH, puis utilisez les interfaces que les applications installées fournissent pour effectuer des tâches et soumettre des requêtes, soit par l'intermédiaire de scripts soit de manière interactive. Pour plus d'informations, consultez le manuel Amazon EMR Guide de version.

Traitement des données

Lorsque vous lancez votre cluster, vous choisissez les infrastructures et les applications à installer pour répondre à vos besoins de traitement des données. Pour traiter les données de votre cluster Amazon EMR, vous pouvez soumettre des travaux ou des requêtes directement aux applications installées, ou vous pouvez exécuter des étapes dans le cluster.

Soumission de travaux directement aux applications

Vous pouvez soumettre des travaux et interagir directement avec le logiciel qui est installé dans votre cluster Amazon EMR. Pour cela, vous vous connectez généralement au nœud maître via une connexion sécurisée et accédez aux interfaces et outils qui sont disponibles pour le logiciel qui s'exécute directement sur votre cluster. Pour plus d'informations, consultez Connexion au cluster.

Exécution d'étapes pour traiter des données

Vous pouvez soumettre une ou plusieurs étapes ordonnées à un cluster Amazon EMR. Chaque étape est une unité de travail qui contient des instructions de manipulation des données qui doivent être traitées par le logiciel installé sur le cluster.

Voici un exemple de processus à quatre étapes :

  1. Envoi d'un ensemble de données d'entrée à traiter.

  2. Traitement des données de sortie de la première étape à l'aide d'un programme Pig.

  3. Traitement d'un second ensemble de données d'entrée à l'aide d'un programme Hive.

  4. Écriture d'un ensemble de données de sortie.

En règle générale, lorsque vous traitez des données dans Amazon EMR, l'entrée correspond à des données stockées sous forme de fichiers dans votre système de fichiers sous-jacent choisi, tel que Amazon S3 ou HDFS. Ces données passent d'une étape à l'autre dans la séquence de traitement. L'étape finale écrit les données de sortie dans un emplacement spécifié, tel qu'un compartiment Amazon S3.

Les étapes sont exécutées dans l'ordre suivant :

  1. Une demande est soumise pour commencer le traitement des étapes.

  2. L'état de toutes les étapes est défini sur EN SUSPENS.

  3. Lorsque la première étape de la séquence commence, son état passe à EN COURS D'EXÉCUTION. Les autres étapes restent à l'état EN SUSPENS.

  4. Une fois la première étape terminée, son état devient TERMINÉ.

  5. L'étape suivante de la séquence commence et son état passe à EN COURS D'EXÉCUTION. Une fois terminée, son état devient TERMINÉ.

  6. Ce modèle se répète pour chaque étape jusqu'à ce qu'elles soient toutes terminées, puis le traitement se termine.

Le schéma suivant représente la séquence d'étapes et le changement d'état des étapes au fur et à mesure de leur traitement.

Si une étape échoue au cours du traitement, son état devient TERMINATED_WITH_ERRORS. Vous pouvez déterminer ce qui se passe ensuite pour chaque étape. Par défaut, les étapes restantes de la séquence sont définies sur CANCELLED (ANNULÉE) et ne sont pas exécutées. Vous pouvez également choisir d'ignorer l'échec et d'autoriser l'exécution des étapes restantes, ou d'arrêter le cluster immédiatement.

Le schéma suivant représente la séquence des étapes et le changement d'état par défaut lorsqu'une étape échoue pendant le traitement.

Présentation du cycle de vie du cluster

Un cluster Amazon EMR réussi suit ce processus :

  1. Amazon EMR alloue tout d'abord des instances EC2 dans le cluster pour chaque instance en fonction de vos spécifications. Pour plus d'informations, consultez Configuration du matériel et de la mise en réseau d'un cluster. Pour toutes les instances, Amazon EMR utilise l'AMI par défaut pour Amazon EMR ou une AMI Amazon Linux personnalisée que vous spécifiez. Pour plus d'informations, consultez Utilisation d'une image AMI personnalisée. Au cours de cette phase, l'état du cluster est STARTING.

  2. Amazon EMR exécute les actions d'amorçage que vous spécifiez sur chaque instance. Vous pouvez utiliser des actions d'amorçage pour installer des applications personnalisées et exécuter les personnalisations dont vous avez besoin. Pour plus d'informations, consultez Create Bootstrap Actions to Install Additional Software. Au cours de cette phase, l'état du cluster est BOOTSTRAPPING.

  3. Amazon EMR installe les applications natives que vous spécifiez lorsque vous créez le cluster, telles que Hive, Hadoop, Spark, etc.

  4. Lorsque les actions d'amorçage sont terminées et que les applications natives sont installées, l'état du cluster est RUNNING. À ce stade, vous pouvez vous connecter aux instances de cluster, et le cluster exécute de façon séquentielle toutes les étapes que vous avez spécifiées lorsque vous avez créé le cluster. Vous pouvez ajouter des étapes supplémentaires, qui s'exécuteront lorsque les étapes précédentes seront terminées. Pour plus d'informations, consultez Utilisation des étapes à l'aide de l'AWS CLI et de la console.

  5. Une fois que les étapes ont été exécutées avec succès, le cluster passe à l'état WAITING. Si un cluster est configuré pour s'arrêter automatiquement après la dernière étape, il passe à l'état SHUTTING_DOWN.

  6. Lorsque toutes les instances sont arrêtées, le cluster passe à l'état COMPLETED.

En cas de défaillance au cours du cycle de vie du cluster, Amazon EMR arrête le cluster et toutes ses instances, sauf si vous activez la protection contre l'arrêt. Si un cluster s'arrête en raison d'une défaillance, toutes les données stockées sur le cluster sont supprimées, et son état devient FAILED. Si vous avez activé la protection contre l'arrêt, vous pouvez récupérer les données à partir de votre cluster, puis supprimer la protection contre l'arrêt et arrêter le cluster. Pour plus d'informations, consultez Using Termination Protection.