

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
<a name="emr-what-is-emr"></a>

Amazon EMR, qui s'appelait auparavant Amazon Elastic MapReduce, est une plateforme de clusters gérés qui simplifie l'exécution de frameworks de mégadonnées, tels qu'[Apache Hadoop](https://aws.amazon.com/elasticmapreduce/details/hadoop) et [Apache Spark](https://aws.amazon.com/elasticmapreduce/details/spark), AWS pour traiter et analyser de grandes quantités de données. Grâce à ces infrastructures et des projets open source connexes, vous pouvez traiter des données à des fins d'analyse et pour des charges de travail business intelligence. Amazon EMR vous permet également de transformer et de déplacer de grandes quantités de données vers et à partir d'autres bases et entrepôts de données AWS , comme Amazon Simple Storage Service (Amazon S3) et Amazon DynamoDB. 

Si vous utilisez Amazon EMR pour la première fois, nous vous recommandons de commencer par lire les sections suivantes en plus de la présente section :
+ [Amazon EMR](https://aws.amazon.com/elasticmapreduce/) : cette page de service fournit les points forts, la description détaillée et les informations de tarification d'Amazon EMR.
+ [Didacticiel : Les premiers pas avec Amazon EMR](emr-gs.md) : ce didacticiel vous permet de commencer à utiliser Amazon EMR rapidement.

**Topics**
+ [Comprendre comment créer et utiliser des clusters Amazon EMR](emr-overview.md)
+ [Avantages offerts par l'utilisation d'Amazon EMR](emr-overview-benefits.md)
+ [Architecture et couches de service Amazon EMR](emr-overview-arch.md)

# Comprendre comment créer et utiliser des clusters Amazon EMR
<a name="emr-overview"></a>

Cette rubrique fournit une présentation des clusters Amazon EMR, y compris de la façon de soumettre des tâches à 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. 

**Topics**
+ [Se familiariser avec les clusters et les nœuds](#emr-overview-clusters)
+ [Soumettre des tâches à un cluster](#emr-work-cluster)
+ [Traitement des données](#emr-overview-data-processing)
+ [Présentation du cycle de vie du cluster](#emr-overview-cluster-lifecycle)

## Se familiariser avec les clusters et les nœuds
<a name="emr-overview-clusters"></a>

Le composant central d'Amazon EMR est le *cluster*. Un cluster est une collection 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 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 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.

## Soumettre des tâches à un cluster
<a name="emr-work-cluster"></a>

Lorsque vous exécutez un cluster sur Amazon EMR, vous avez plusieurs options quant à la façon de spécifier les tâches qui doivent être effectuées. 
+ 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 AWS CLI les étapes de soumission, qui peuvent contenir une ou plusieurs tâches. Pour de plus amples informations, veuillez consulter [Soumettre un travail à un cluster Amazon EMR](emr-work-with-steps.md). 
+ Créez un cluster, connectez-vous au nœud primaire 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 [Guide de version Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 

## Traitement des données
<a name="emr-overview-data-processing"></a>

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 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
<a name="emr-overview-submitting-jobs"></a>

Vous pouvez soumettre des tâches 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 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 Amazon EMR](emr-connect-master-node.md).

### Exécuter des étapes pour traiter des données
<a name="emr-overview-steps"></a>

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 jeu de données d'entrée à traiter.

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

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

1. Écriture d'un jeu 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 qu'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.

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

1. 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**.

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

1. 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É**.

1. 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.\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ManagementGuide/images/step-sequence.png)


Si une étape échoue au cours du traitement, son état devient **FAILED**. 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** et ne sont pas exécutées si une étape précédente échoue. 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 Amazon EMR montrant ce qu'il advient des étapes suivantes en cas d'échec d'une étape de cluster précédente.\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ManagementGuide/images/step-sequence-failed.png)


## Présentation du cycle de vie du cluster
<a name="emr-overview-cluster-lifecycle"></a>

 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 de plus amples informations, veuillez consulter [Configuration du matériel et du réseau du cluster Amazon EMR](emr-plan-instances.md). 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 de plus amples informations, veuillez consulter [Utilisation d'une AMI personnalisée pour apporter plus de flexibilité à la configuration du cluster Amazon EMR](emr-custom-ami.md). Au cours de cette phase, l'état du cluster est `STARTING`.

1. 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 de plus amples informations, veuillez consulter [Créez des actions bootstrap pour installer des logiciels supplémentaires avec un cluster Amazon EMR](emr-plan-bootstrap.md). Au cours de cette phase, l'état du cluster est `BOOTSTRAPPING`. 

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

1. 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 [Soumettre un travail à un cluster Amazon EMR](emr-work-with-steps.md). 

1. 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 d'échec 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 `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 la résiliation pour protéger vos clusters Amazon EMR d'un arrêt accidentel](UsingEMR_TerminationProtection.md). 

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 Amazon EMR représentant le cycle de vie d'un cluster et la façon dont chaque étape du cycle de vie correspond à un état de cluster particulier.\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ManagementGuide/images/emr-cluster-lifecycle.png)


# Avantages offerts par l'utilisation d'Amazon EMR
<a name="emr-overview-benefits"></a>

Il existe de nombreux avantages à l'utilisation d'Amazon EMR. Il s'agit notamment de la flexibilité offerte AWS et des économies réalisées par rapport à la création de vos propres ressources sur site. Cette section fournit une présentation de ces avantages et des liens vers des informations supplémentaires qui vous aideront à approfondir le sujet.

**Topics**
+ [Économies sur les coûts](#emr-benefits-cost)
+ [AWS intégration](#emr-benefits-integration)
+ [Déploiement](#emr-benefits-deployment)
+ [Capacité de mise à l'échelle et flexibilité](#emr-benefits-scalability)
+ [Fiabilité](#emr-benefits-reliability)
+ [Sécurité](#emr-benefits-security)
+ [Contrôle](#emr-benefits-monitoring)
+ [Interfaces de gestion](#emr-what-tools)

## Économies sur les coûts
<a name="emr-benefits-cost"></a>

La tarification d'Amazon EMR dépend du type d'instance et du nombre d'instances Amazon EC2 que vous déployez, ainsi que de la région dans laquelle vous lancez votre cluster. La tarification à la demande offre des taux horaires faibles, mais vous pouvez réduire encore le coût en achetant des instances réservées ou en faisant une offre sur des instances Spot. Les instances Spot permettent des économies importantes et peuvent même parfois ne représenter qu'un dixième de la tarification à la demande.

**Note**  
Si vous utilisez Amazon S3, Amazon Kinesis ou DynamoDB avec votre cluster EMR, des frais supplémentaires s'appliquent pour les services qui sont facturés séparément de votre utilisation d'Amazon EMR.

**Note**  
Lorsque vous configurez un cluster Amazon EMR dans un sous-réseau privé, nous vous recommandons de configurer également des [points de terminaison VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) pour Amazon S3. Si votre cluster EMR se trouve dans un sous-réseau privé sans points de terminaison VPC pour Amazon S3, vous devrez payer des frais de passerelle NAT supplémentaires rattachés au trafic S3, car le trafic entre votre cluster EMR et S3 ne restera pas dans votre VPC.

Pour de plus amples informations sur les options et les détails de tarification, veuillez consulter [Tarification d'Amazon EMR](https://aws.amazon.com/elasticmapreduce/pricing/).

## AWS intégration
<a name="emr-benefits-integration"></a>

Amazon EMR s'intègre à d'autres AWS services afin de fournir des capacités et des fonctionnalités liées à la mise en réseau, au stockage, à la sécurité, etc., pour votre cluster. La liste suivante fournit plusieurs exemples de cette intégration :
+ Amazon EC2 pour les instances qui incluent les nœuds du cluster ;
+ Amazon Virtual Private Cloud (Amazon VPC) pour configurer le réseau virtuel dans lequel vous devez lancer vos instances ;
+ Amazon S3 pour stocker les données d'entrée et sortie ;
+ Amazon va CloudWatch surveiller les performances du cluster et configurer les alarmes
+ Gestion des identités et des accès AWS (IAM) pour configurer les autorisations
+ AWS CloudTrail pour auditer les demandes adressées au service
+ AWS Data Pipeline pour planifier et démarrer vos clusters
+ AWS Lake Formation pour découvrir, cataloguer et sécuriser les données dans un lac de données Amazon S3

## Déploiement
<a name="emr-benefits-deployment"></a>

Votre cluster EMR se compose d'instances EC2, qui effectuent le travail que vous soumettez à votre cluster. Lorsque vous lancez votre cluster, Amazon EMR configure les instances avec les applications que vous choisissez, telles qu'Apache Hadoop ou Spark. Choisissez le type et la taille d'instance qui conviennent le mieux aux besoins de traitement pour votre cluster : traitement par lots, requêtes à faible latence, streaming de données ou stockage de données volumineuses. Pour plus d'informations sur les types d'instances disponibles pour Amazon EMR, consultez [Configuration du matériel et du réseau du cluster Amazon EMR](emr-plan-instances.md).

Amazon EMR offre diverses façons de configurer des logiciels sur votre cluster. Par exemple, vous pouvez installer une version Amazon EMR avec un ensemble choisi d'applications qui peut inclure des infrastructures polyvalentes, telles que Hadoop, et des applications, telles que Hive, Pig ou Spark. Vous pouvez également installer l'une des nombreuses distributions MapR. Amazon EMR utilise Amazon Linux. Vous pouvez donc également installer le logiciel sur votre cluster manuellement à l'aide du gestionnaire de packages yum ou à partir de la source. Pour de plus amples informations, veuillez consulter [Configuration des applications lorsque vous lancez votre cluster Amazon EMR](emr-plan-software.md).

## Capacité de mise à l'échelle et flexibilité
<a name="emr-benefits-scalability"></a>

Amazon EMR offre une grande flexibilité pour augmenter ou réduire votre cluster lorsque vos besoins informatiques évoluent. Vous pouvez redimensionner votre cluster pour ajouter des instances pour les charges de travail des périodes de pointe et supprimer des instances pour contrôler les coûts en dehors des périodes de pointe. Pour de plus amples informations, veuillez consulter [Redimensionner manuellement un cluster Amazon EMR en cours d'exécution](emr-manage-resize.md).

 Amazon EMR offre également la possibilité d'exécuter plusieurs groupes d'instances pour vous permettre d'utiliser les instances à la demande dans un groupe afin de garantir la puissance de traitement, et les instances Spot dans un autre groupe afin de terminer plus rapidement et à meilleur coût vos tâches. Vous pouvez également combiner différents types d'instance pour tirer profit de meilleurs prix pour un type d'instance Spot par rapport à un autre. Pour de plus amples informations, veuillez consulter [Quand faut-il utiliser des instances Spot ?](emr-plan-instances-guidelines.md#emr-plan-spot-instances). 

De plus, Amazon EMR offre la possibilité d'utiliser plusieurs systèmes de fichiers pour vos données d'entrée, de sortie et intermédiaires. Par exemple, vous pouvez choisir le système de fichiers distribué Hadoop (HDFS) qui s'exécute sur les nœuds primaires et principaux de votre cluster pour traiter les données que vous n'avez pas besoin de stocker au-delà du cycle de vie de votre cluster. Vous pouvez choisir le système de fichiers EMR (EMRFS) pour utiliser Amazon S3 comme une couche de données pour les applications qui s'exécutent sur votre cluster. Vous pouvez ainsi séparer les calculs et le stockage, et conserver les données en dehors du cycle de vie de votre cluster. EMRFS offre l'avantage supplémentaire de vous permettre de monter ou descendre en puissance, indépendamment en fonction de vos besoins de calcul et de stockage. Vous pouvez ajuster vos besoins informatiques en redimensionnant votre cluster et vous pouvez ajuster vos besoins de stockage en utilisant Amazon S3. Pour de plus amples informations, veuillez consulter [Utilisation de systèmes de stockage et de fichiers avec Amazon EMR](emr-plan-file-systems.md).

## Fiabilité
<a name="emr-benefits-reliability"></a>

Amazon EMR surveille les nœuds de votre cluster, et résilie automatiquement une instance et la remplace en cas d'échec.

Amazon EMR fournit des options de configuration qui contrôlent la manière dont votre cluster est résilié, automatiquement ou manuellement. Si vous configurez votre cluster pour qu'il s'arrête automatiquement, il est arrêté une fois toutes les étapes terminées. On parle alors de cluster transitoire. Toutefois, vous pouvez configurer le cluster pour qu'il continue à s'exécuter après la fin du traitement, afin que vous puissiez choisir de l'arrêter manuellement lorsque vous n'en avez plus besoin. Ou, vous pouvez créer un cluster, interagir directement avec les applications installées, puis arrêter manuellement le cluster lorsque vous n'en avez plus besoin. Les clusters de ces exemples sont appelés *clusters de longue durée*. 

De plus, vous pouvez configurer une protection contre l'arrêt pour empêcher les instances de votre cluster d'être mises hors service en raison d'erreurs ou de problèmes au cours du traitement. Lorsque la protection de la résiliation est activée, vous pouvez récupérer les données à partir des instances avant leur résiliation. Les paramètres par défaut de ces options varient selon que vous lancez votre cluster à l'aide de la console, de l'interface de ligne de commande ou de l'API. Pour de plus amples informations, veuillez consulter [Utilisation de la protection contre la résiliation pour protéger vos clusters Amazon EMR d'un arrêt accidentel](UsingEMR_TerminationProtection.md).

## Sécurité
<a name="emr-benefits-security"></a>

Amazon EMR s'appuie sur d'autres AWS services, tels que IAM et Amazon VPC, ainsi que sur des fonctionnalités telles que les paires de clés Amazon EC2, pour vous aider à sécuriser vos clusters et vos données.

### IAM
<a name="emr-benefits-iam"></a>

Amazon EMR s'intègre à IAM pour gérer les autorisations. Vous définissez des autorisations à l'aide de politiques IAM, que vous attachez à des utilisateurs ou à des groupes IAM. Les autorisations que vous définissez dans la politique déterminent les actions que les utilisateurs ou les membres du groupe peuvent effectuer et les ressources auxquelles ils peuvent accéder. Pour de plus amples informations, veuillez consulter [Fonctionnement d'Amazon EMR avec IAM](security_iam_service-with-iam.md).

De plus, Amazon EMR utilise les rôles IAM pour le service Amazon EMR lui-même et le profil d'instance EC2 pour les instances. Ces rôles autorisent le service et les instances à accéder à d'autres AWS services en votre nom. Il existe un rôle par défaut pour le service Amazon EMR et un rôle par défaut pour le profil d'instance EC2. Les rôles par défaut utilisent des politiques AWS gérées, qui sont créées automatiquement pour vous la première fois que vous lancez un cluster EMR depuis la console et que vous choisissez les autorisations par défaut. Vous pouvez également créer les rôles IAM par défaut à partir de l' AWS CLI. Si vous souhaitez plutôt gérer les autorisations AWS, vous pouvez choisir des rôles personnalisés pour le profil de service et d'instance. Pour de plus amples informations, veuillez consulter [Configurer les rôles de service IAM pour les autorisations Amazon EMR relatives AWS aux services et aux ressources](emr-iam-roles.md).

### Groupes de sécurité
<a name="emr-benefits-security-groups"></a>

Amazon EMR utilise des groupes de sécurité pour contrôler le trafic entrant et sortant de vos instances EC2. Lorsque vous lancez votre cluster, Amazon EMR utilise un groupe de sécurité pour votre instance principale et un groupe de sécurité partagé par vos core/task instances. Amazon EMR configures the security group rules to ensure communication among the instances in the cluster. Optionally, you can configure additional security groups and assign them to your primary and core/task instances pour des règles plus avancées. Pour de plus amples informations, veuillez consulter [Contrôlez le trafic réseau avec des groupes de sécurité pour votre cluster Amazon EMR](emr-security-groups.md).

### Chiffrement
<a name="emr-benefits-encryption"></a>

Amazon EMR prend en charge le chiffrement facultatif côté serveur et côté client d'Amazon S3 avec EMRFS pour favoriser la protection des données que vous stockez dans Amazon S3. Avec le chiffrement côté serveur, Amazon S3 chiffre vos données une fois que vous les avez chargées vers le serveur.

Avec le chiffrement côté client, le processus de chiffrement et de déchiffrement se produit dans le client EMRFS, sur votre cluster EMR. Vous gérez la clé racine pour le chiffrement côté client à l'aide du AWS Key Management Service (AWS KMS) ou de votre propre système de gestion des clés.

Pour plus d'informations, consultez [Spécifier le chiffrement Amazon S3 à l'aide des propriétés EMRFS](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-emrfs-encryption.html).

### Amazon VPC
<a name="emr-benefits-vpc"></a>

Amazon EMR prend en charge le lancement des clusters dans un cloud privé virtuel (VPC) dans Amazon VPC. Un VPC est un réseau virtuel isolé AWS qui permet de contrôler les aspects avancés de la configuration et de l'accès au réseau. Pour de plus amples informations, veuillez consulter [Configuration de la mise en réseau dans un VPC pour Amazon EMR](emr-plan-vpc-subnet.md).

### AWS CloudTrail
<a name="emr-benefits-cloudtrail"></a>

Amazon EMR s'intègre CloudTrail pour enregistrer les informations relatives aux demandes effectuées par ou au nom de votre AWS compte. Avec ces informations, vous pouvez obtenir un suivi des personnes qui accèdent à votre cluster, des heures où cela se produit et de l'adresse IP à partir de laquelle elles effectuent la demande. Pour de plus amples informations, veuillez consulter [Journalisation des appels d'API AWS EMR à l'aide de AWS CloudTrail](logging-using-cloudtrail.md).

### Paires de clés Amazon EC2
<a name="emr-benefits-key-pairs"></a>

Vous pouvez surveiller votre cluster et interagir avec lui en créant une connexion sécurisée entre votre ordinateur distant et le nœud primaire. Vous pouvez utiliser le protocole réseau Secure Shell (SSH) pour cette connexion ou utiliser Kerberos pour l'authentification. Si vous utilisez SSH, une paire de clés Amazon EC2 est obligatoire. Pour de plus amples informations, veuillez consulter [Utiliser une paire de clés EC2 pour les informations d'identification SSH pour Amazon EMR](emr-plan-access-ssh.md).

## Contrôle
<a name="emr-benefits-monitoring"></a>

Vous pouvez utiliser les interfaces de gestion et les fichiers journaux Amazon EMR pour résoudre les problèmes de cluster, tels que les échecs ou les erreurs. Amazon EMR permet d'archiver des fichiers journaux dans Amazon S3 afin que vous puissiez stocker les journaux et résoudre les problèmes même après la résiliation de votre cluster. Amazon EMR fournit également un outil de débogage optionnel dans la console Amazon EMR pour parcourir les fichiers journaux en fonction des étapes, des travaux et des tâches. Pour de plus amples informations, veuillez consulter [Configuration de la journalisation et du débogage du cluster Amazon EMR](emr-plan-debugging.md).

Amazon EMR s'intègre CloudWatch pour suivre les indicateurs de performance du cluster et les tâches au sein du cluster. Vous pouvez configurer des alarmes sur la base de diverses métriques, telles que le fait que le cluster soit ou non inactif ou le pourcentage de stockage utilisé. Pour de plus amples informations, veuillez consulter [Surveillance des métriques Amazon EMR avec CloudWatch](UsingEMR_ViewingMetrics.md).

## Interfaces de gestion
<a name="emr-what-tools"></a>

 Il existe plusieurs manières d'interagir avec Amazon EMR : 
+ **Console** : interface utilisateur graphique qui permet de lancer et gérer des clusters. Elle vous permet de remplir des formulaires Web afin de préciser les détails relatifs aux clusters à lancer, de consulter les informations relatives aux clusters en cours, de déboguer et d'arrêter les clusters. Cette console constitue le moyen le plus simple de faire ses premiers pas avec Amazon EMR ; aucune connaissance en programmation n'est requise. La console est disponible en ligne à [https://console.aws.amazon.com/elasticmapreduce/domicile](https://console.aws.amazon.com/elasticmapreduce/home). 
+ **AWS Command Line Interface (AWS CLI)** — Une application client que vous exécutez sur votre machine locale pour vous connecter à Amazon EMR et créer et gérer des clusters. AWS CLI Il contient un ensemble riche en fonctionnalités spécifiques à Amazon EMR. Elle vous permet d'écrire des scripts pour automatiser le lancement et la gestion des clusters. Si vous préférez travailler à partir d'une ligne de commande, l'utilisation de AWS CLI est la meilleure option. Pour plus d'informations et des exemples, consultez [Amazon EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/index.html) dans la *Référence des commandes AWS CLI *.
+ **Kit de développement logiciel (SDK)** : SDKs fournit des fonctions qui font appel à Amazon EMR pour créer et gérer des clusters. Ils vous permettent d'écrire des applications pour automatiser la création et la gestion des clusters. Le kit SDK est particulièrement recommandé si vous souhaitez étendre ou personnaliser les fonctionnalités d'Amazon EMR. Amazon EMR est actuellement disponible dans les formats suivants SDKs : Go, Java, .NET (C\$1 et VB.NET), Node.js, PHP, Python et Ruby. Pour plus d'informations à ce sujet SDKs, consultez [Outils pour AWS](https://aws.amazon.com/tools/) et [exemples de code et bibliothèques Amazon EMR](https://docs.aws.amazon.com/code-library/latest/ug/emr_code_examples.html). 
+ **API de service web** : interface de bas niveau qui vous permet d'appeler le service web directement à l'aide de JSON. Cette API est l'option la plus adaptée pour créer un kit SDK personnalisé qui appelle Amazon EMR. Pour plus d'informations, consultez la [Référence d'API Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/Welcome.html). 

# Architecture et couches de service Amazon EMR
<a name="emr-overview-arch"></a>

L'architecture du service Amazon EMR se compose de plusieurs couches, chacune fournissant certaines fonctions et fonctionnalités au cluster. Cette section fournit une présentation de ces couches et de leurs composants.

**Topics**
+ [Stockage](#emr-arch-storage)
+ [Gestion des ressources de cluster](#emr-arch-resource-management)
+ [Cadres de traitement de données](#emr-arch-processing-frameworks)
+ [Applications et programmes](#emr-arch-applications)

## Stockage
<a name="emr-arch-storage"></a>

La couche de stockage inclut les différents systèmes de fichiers qui sont utilisés avec votre cluster. Il existe plusieurs types d'options de stockage, décrits ci-dessous.

### Système de fichiers distribué Hadoop (HDFS)
<a name="emr-storage-hdfs"></a>

Le système de fichiers distribué Hadoop (HDFS) est un système de fichiers évolutif, distribué pour Hadoop. Le système HDFS répartit les données qu'il stocke entre les instances dans le cluster, stockant plusieurs copies des données sur différentes instances pour garantir qu'aucune donnée n'est perdue en cas de défaillance d'une instance individuelle. HDFS est un stockage éphémère qui est récupéré lorsque vous mettez fin à un cluster. Le HDFS est utile pour mettre en cache les résultats intermédiaires pendant le MapReduce traitement ou pour les charges de travail comportant des E/S aléatoires importantes. 

Pour plus d'informations, consultez la rubrique [Options et comportement du stockage des instances dans Amazon EMR](emr-plan-storage.md) de ce guide ou le [guide de l'utilisateur HDFS](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html) sur le site web d'Apache Hadoop.

### Système de fichiers EMR (EMRFS)
<a name="emr-storage-emrfs"></a>

Avec le système de fichiers EMR (EMRFS), Amazon EMR étend Hadoop pour ajouter la possibilité d'accéder directement aux données stockées dans Amazon S3 comme s'il s'agissait d'un système de fichiers de type HDFS. Vous pouvez utiliser HDFS ou Amazon S3 en tant que système de fichiers dans votre cluster. Le plus souvent, Amazon S3 est utilisé pour stocker les données d'entrée et sortie et les résultats intermédiaires sont stockés dans HDFS.

### Système de fichiers local
<a name="emr-storage-lfs"></a>

Le système de fichiers local fait référence à un disque connecté localement. Lorsque vous créez un cluster Hadoop, chaque nœud est créé à partir d'une instance Amazon EC2 qui est associée à un bloc préconfiguré de stockage sur disque pré-attaché appelé stockage d'instance. Les données des volumes de stockage d'instance sont conservées uniquement pendant le cycle de durée de vie de leur instance Amazon EC2.

## Gestion des ressources de cluster
<a name="emr-arch-resource-management"></a>

La couche de gestion des ressources est responsable de la gestion des ressources du cluster et de la planification des travaux de traitement des données.

Par défaut, Amazon EMR utilise YARN (Yet Another Resource Negotiator), un composant introduit dans Apache Hadoop 2.0 pour gérer de manière centralisée les ressources de cluster pour plusieurs infrastructures de traitement de données. Cependant, il existe d'autres cadres et applications proposés dans Amazon EMR qui n'utilisent pas YARN comme gestionnaire de ressources. Amazon EMR dispose également d'un agent sur chaque nœud, qui administre les composants YARN, maintient le cluster en bonne santé et communique avec le service Amazon EMR.

Les instances Spot étant souvent utilisées pour exécuter des nœuds de tâches, Amazon EMR dispose d'une fonctionnalité par défaut pour planifier les tâches YARN. Cela empêche l'échec de l'exécution des tâches lorsque les nœuds de tâches exécutés sur des instances Spot sont fermés. Pour ce faire, Amazon EMR autorise les processus principaux de l'application à s'exécuter uniquement sur les nœuds principaux. Le processus principal de l'application contrôle les tâches en cours d'exécution et doit rester actif pendant toute la durée de vie de la tâche.

Les versions 5.19.0 et ultérieures d'Amazon EMR utilisent la fonctionnalité intégrée d'[étiquettes de nœuds YARN](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeLabel.html) pour y parvenir. (Les versions antérieures utilisaient un correctif de code). Les propriétés des classifications de configuration `yarn-site` et `capacity-scheduler` sont configurées par défaut afin que le planificateur de capacité YARN et le planificateur équitable tirent parti des étiquettes des nœuds. Amazon EMR étiquette automatiquement les nœuds principaux avec l'étiquette `CORE` et définit les propriétés de manière à ce que les maîtres d'applications soient planifiés uniquement sur les nœuds portant le label CORE. La modification manuelle des propriétés rattachées dans les classifications de configuration de yarn-site et de capacity-scheduler, ou directement dans les fichiers XML rattachés, pourrait interrompre cette fonctionnalité ou la modifier.

## Cadres de traitement de données
<a name="emr-arch-processing-frameworks"></a>

La couche des infrastructures de traitement des données est le moteur utilisé pour traiter et analyser les données. Il existe de nombreuses infrastructures disponibles qui s'exécutent sur YARN ou qui possèdent leur propre gestion des ressources. Des infrastructures différentes sont disponibles pour les différents types de traitement requis, tels que les traitements par lots, interactif, en mémoire, de streaming, etc. L'infrastructure que vous choisissez dépend de votre cas d'utilisation. Elle affecte les langues et les interfaces disponibles à partir de la couche d'application, qui est la couche utilisée pour interagir avec les données à traiter. Les principaux frameworks de traitement disponibles pour Amazon EMR sont MapReduce Hadoop et Spark. 

### Hadoop MapReduce
<a name="emr-processing-framework-mapreduce"></a>

Hadoop MapReduce est un modèle de programmation open source pour l'informatique distribuée. Il simplifie le processus d'écriture d'applications distribuées en parallèle en gérant l'ensemble de la logique, alors que vous fournissez les fonctions Map et Reduce. La fonction Map mappe les données aux ensembles de paires clé-valeur nommées résultats intermédiaires. La fonction Reduce, quant à elle, combine les résultats intermédiaires et leur applique d'autres algorithmes afin de générer la sortie finale. Plusieurs frameworks sont disponibles MapReduce, tels que Hive, qui génère automatiquement les programmes Map et Reduce.

Pour plus d'informations, consultez la rubrique [How map and reduce operations are actually carried out](http://wiki.apache.org/hadoop2/HadoopMapReduce) sur le site web Wiki d'Apache Hadoop.

### Apache Spark
<a name="emr-processing-framework-spark"></a>

Spark est une infrastructure de cluster et un modèle de programmation pour le traitement de charges de travail de big data. Comme Hadoop MapReduce, Spark est un système de traitement distribué open source qui utilise des graphes acycliques dirigés pour les plans d'exécution et une mise en cache en mémoire pour les ensembles de données. Lorsque vous exécutez Spark sur Amazon EMR, vous pouvez utiliser EMRFS pour accéder directement à vos données dans Amazon S3. Spark prend en charge plusieurs modules de requête interactifs comme SparkSQL.

Pour plus d'informations, consultez la rubrique relative à [Apache Spark sur les clusters Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html) du *Guide de version Amazon EMR*.

## Applications et programmes
<a name="emr-arch-applications"></a>

Amazon EMR prend en charge de nombreuses applications, dont Hive, Pig et la bibliothèque Spark Streaming, pour fournir des fonctionnalités telles que l'utilisation de langages de niveau supérieur pour créer des charges de travail de traitement, l'exploitation d'algorithmes de machine learning, l'élaboration d'applications de traitement de flux et la création d'entrepôts de données. En outre, Amazon EMR prend également en charge des projets open source qui possèdent leurs propres fonctionnalités de gestion de cluster au lieu d'utiliser YARN.

Vous utilisez diverses bibliothèques et divers langages pour interagir avec les applications que vous exécutez dans Amazon EMR. Par exemple, vous pouvez utiliser Java, Hive ou Pig avec MapReduce ou Spark Streaming, Spark SQL et GraphX avec Spark. MLlib

Pour plus d'informations, consultez le [Guide de version Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/).