Comprendre comment créer et utiliser des EMR clusters Amazon - 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.

Comprendre comment créer et utiliser des EMR clusters Amazon

Cette rubrique fournit une vue d'ensemble des EMR clusters Amazon, notamment de la manière de soumettre du travail à un cluster, de la manière dont ces données sont traitées et des différents états que le cluster traverse pendant le traitement.

Se familiariser avec les clusters et les nœuds

L'élément central d'Amazon EMR est le cluster. Un cluster est un ensemble d'instances Amazon Elastic Compute Cloud (AmazonEC2). 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 installe EMR également différents composants logiciels sur chaque type de nœud, conférant à chaque nœud un rôle dans une application distribuée telle qu'Apache Hadoop.

Les types de nœuds sur Amazon EMR sont les suivants :

  • Nœud primaire : 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 primaire effectue le suivi du statut des tâches et surveille l'état du cluster. Chaque cluster a un nœud primaire ; il est possible de créer un cluster à nœud unique avec seulement le nœud primaire.

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

  • Nœud de tâches : nœud doté de composants logiciels qui exécute uniquement des tâches et ne stocke pas de donnéesHDFS. Les nœuds de tâches sont facultatifs.

Soumettre des tâches à un cluster

Lorsque vous gérez un cluster sur AmazonEMR, plusieurs options s'offrent à vous pour définir le travail à effectuer.

  • 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 EMR console Amazon EMRAPI, Amazon ou AWS CLI pour soumettre des étapes, qui peuvent contenir une ou plusieurs tâches. Pour de plus amples informations, veuillez consulter Soumission de travail à un cluster.

  • Créez un cluster, connectez-vous au nœud principal et aux autres nœuds selon les besoins en utilisant SSH et utilisez les interfaces fournies par les applications installées pour effectuer des tâches et soumettre des requêtes, sous forme de script ou de manière interactive. Pour plus d'informations, consultez le Amazon EMR Release Guide.

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 EMR cluster Amazon, vous pouvez envoyer des tâches ou des requêtes directement aux applications installées, ou vous pouvez exécuter des étapes dans le cluster.

Soumettre des tâches directement aux applications

Vous pouvez soumettre des tâches et interagir directement avec le logiciel installé dans votre EMR cluster Amazon. Pour cela, vous vous connectez généralement au nœud primaire 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 de plus amples informations, veuillez consulter Connexion à un cluster.

Exécuter des étapes pour traiter des données

Vous pouvez envoyer une ou plusieurs étapes commandées à un EMR cluster Amazon. 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 jeu 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 jeu de données d'entrée à l'aide d'un programme Hive.

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

Généralement, lorsque vous traitez des données dans AmazonEMR, les données d'entrée sont stockées sous forme de fichiers dans le système de fichiers sous-jacent que vous avez choisi, tel qu'Amazon S3 ouHDFS. 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 PENDING.

  3. Lorsque la première étape de la séquence démarre, son état passe à RUNNING. Les autres étapes restent en l'PENDINGétat.

  4. Une fois la première étape terminée, son état passe à COMPLETED.

  5. L'étape suivante de la séquence commence et son état passe à RUNNING. Lorsqu'il est terminé, son état passe à COMPLETED.

  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.

Schéma de séquence pour Amazon EMR montrant les différents états des étapes du cluster.

Si une étape échoue pendant le traitement, son état passe à FAILED. Vous pouvez déterminer ce qui se passe ensuite pour chaque étape. Par défaut, toutes les étapes restantes de la séquence sont définies sur CANCELLEDet ne sont pas exécutées en cas d'échec de l'étape précédente. 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.

Schéma de séquence pour Amazon EMR montrant ce qu'il advient des étapes suivantes en cas d'échec d'une étape de cluster précédente.

Présentation du cycle de vie du cluster

Un EMR cluster Amazon réussi suit le processus suivant :

  1. Amazon EMR approvisionne d'abord les EC2 instances du cluster pour chaque instance conformément à vos spécifications. Pour de plus amples informations, veuillez consulter Configuration du matériel et de la mise en réseau d'un cluster. Pour toutes les instances, Amazon EMR utilise la valeur par défaut AMI pour Amazon EMR ou un Amazon Linux personnalisé AMI que vous spécifiez. Pour de plus amples informations, veuillez consulter Utilisation d'une option personnalisée AMI pour offrir une plus grande flexibilité dans la configuration du cluster. Au cours de cette phase, l'état du cluster est STARTING.

  2. Amazon EMR exécute les actions bootstrap 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 de plus amples informations, veuillez consulter Création d'actions d'amorçage pour installer des logiciels supplémentaires. Au cours de cette phase, l'état du cluster est BOOTSTRAPPING.

  3. Amazon EMR installe les applications natives que vous spécifiez lors de la création du 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 de plus amples informations, veuillez consulter Soumission de travail à un cluster.

  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 TERMINATING puis à l'état TERMINATED. Si le cluster est configuré pour attendre, vous devez l'arrêter manuellement lorsque vous n'en avez plus besoin. Après avoir arrêté manuellement le cluster, il passe à l'état TERMINATING puis à l'état TERMINATED.

En cas de défaillance pendant le cycle de vie du cluster, Amazon met fin EMR au cluster et à toutes ses instances, sauf si vous activez la protection contre la résiliation. 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 TERMINATED_WITH_ERRORS. 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 de plus amples informations, veuillez consulter Utilisation de la protection contre les interruptions pour protéger vos clusters contre les arrêts accidentels.

Le schéma suivant représente le cycle de vie d'un cluster et la façon dont chaque étape du cycle de vie correspond à un état de cluster particulier.

Schéma pour Amazon EMR illustrant le cycle de vie du cluster et la façon dont chaque étape du cycle de vie correspond à un état de cluster particulier.