

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.

# Erreurs VPC lors des opérations du cluster Amazon EMR
<a name="emr-troubleshoot-error-vpc"></a>

Les erreurs suivantes sont communes à la configuration de VPC dans Amazon EMR.

**Topics**
+ [Configuration de sous-réseau non valide](#emr-troubleshoot-error-gateway)
+ [Jeu d'options DHCP manquant](#emr-troubleshoot-error-dhcp)
+ [Erreurs d'autorisations](#emr-troubleshoot-error-denied)
+ [Erreurs qui se traduisent par `START_FAILED`](#emr-troubleshoot-error-vpc-dns)
+ [Cluster `Terminated with errors` et NameNode ne démarre pas](#emr-troubleshoot-namenode-dns)

## Configuration de sous-réseau non valide
<a name="emr-troubleshoot-error-gateway"></a>

 Sur la page **Cluster Details (Détails de cluster)**, dans le champ **Status (État)**, vous voyez une erreur similaire à ce qui suit :

`The subnet configuration was invalid: Cannot find route to InternetGateway in main RouteTable rtb-id for vpc vpc-id.`

Pour résoudre ce problème, vous devez créer une passerelle Internet et la connecter à votre VPC. Pour plus d'informations, consultez [Ajout d'une passerelle Internet à votre VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html).

Sinon, vérifiez que vous avez configuré votre VPC avec les paramètres **Enable DNS resolution (Activer la résolution DNS)** et **Enable DNS hostname support (Activer le support de nom d'hôte DNS)** activés. Pour plus d'informations, consultez [Utilisation de DNS avec votre VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html). 

## Jeu d'options DHCP manquant
<a name="emr-troubleshoot-error-dhcp"></a>

Vous voyez un échec d'étape dans le journal système (syslog) de cluster avec une erreur similaire à ce qui suit :

` ERROR org.apache.hadoop.security.UserGroupInformation (main): PriviledgedActionException as:hadoop (auth:SIMPLE) cause:java.io.IOException: org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException: Application with id 'application_id' doesn't exist in RM. `

or 

`ERROR org.apache.hadoop.streaming.StreamJob (main): Error Launching job : org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException: Application with id 'application_id' doesn't exist in RM.`

Pour résoudre ce problème, vous devez configurer un VPC incluant un jeu d'options DHCP dont les paramètres sont définis sur les valeurs suivantes : 

**Note**  
Si vous utilisez la région AWS GovCloud (USA Ouest), définissez domain-name sur au **us-gov-west-1.compute.internal** lieu de la valeur utilisée dans l'exemple suivant.
+ **nom-domaine** = **ec2.internal**

  Utilisez **ec2.internal** si votre région est USA Est (Virginie du Nord). Pour les autres régions, utilisez *region-name***.compute.internal**. Par exemple, dans la région us-west-2, utilisez **domain-name (nom-domaine)**=**us-west-2.compute.internal**.
+ **domain-name-servers** = **AmazonProvidedDNS**

Pour plus d'informations, consultez [Jeux d'options DHCP](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html).

## Erreurs d'autorisations
<a name="emr-troubleshoot-error-denied"></a>

Une défaillance dans le journal `stderr` pour une étape indique qu'une ressource Amazon S3 n'a pas les autorisations appropriées. Il s'agit d'une erreur 403 et l'erreur ressemble à :

```
Exception in thread "main" com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: REQUEST_ID
```

Si le ActionOnFailure paramètre est défini sur`TERMINATE_JOB_FLOW`, le cluster se terminera avec l'état,`SHUTDOWN_COMPLETED_WITH_ERRORS`.

Quelques façons pour résoudre ce problème incluent les suivantes :
+ Si vous utilisez une politique de compartiment Amazon S3 au sein d'un VPC, assurez-vous de donner accès à tous les compartiments en créant un point de terminaison de VPC et en sélectionnant **Tout autoriser** sous l'option Politique lorsque vous créez le point de terminaison. 
+ Assurez-vous que toutes stratégies rattachées aux ressources S3 incluent le VPC dans lequel vous lancez le cluster.
+ Essayez d'exécuter la commande suivante à partir de votre cluster afin de vérifier que vous pouvez accéder au compartiment

  ```
  hadoop fs -copyToLocal s3://path-to-bucket /tmp/
  ```
+ Vous pouvez obtenir des informations de débogage plus spécifiques en définissant le paramètre `log4j.logger.org.apache.http.wire` sur `DEBUG` dans le fichier `/home/hadoop/conf/log4j.properties` sur le cluster. Vous pouvez vérifier le fichier journal `stderr` après avoir essayé d'accéder au compartiment depuis le cluster. Le fichier journal fournira des informations plus détaillées :

  ```
  Access denied for getting the prefix for bucket - us-west-2.elasticmapreduce with path samples/wordcount/input/
  15/03/25 23:46:20 DEBUG http.wire: >> "GET /?prefix=samples%2Fwordcount%2Finput%2F&delimiter=%2F&max-keys=1 HTTP/1.1[\r][\n]"
  15/03/25 23:46:20 DEBUG http.wire: >> "Host: us-west-2.elasticmapreduce.s3.amazonaws.com[\r][\n]"
  ```

## Erreurs qui se traduisent par `START_FAILED`
<a name="emr-troubleshoot-error-vpc-dns"></a>

Avant AMI 3.7.0, VPCs lorsqu'un nom d'hôte est spécifié, Amazon EMR mappe les noms d'hôtes internes du sous-réseau avec des adresses de domaine personnalisées comme suit :. `ip-X.X.X.X.customdomain.com.tld` Par exemple, si le nom d'hôte était `ip-10.0.0.10` et le VPC a l'option de nom de domaine définie sur customdomain.com, le nom d'hôte mappé par Amazon EMR qui en résulte serait `ip-10.0.1.0.customdomain.com`. Une entrée est ajoutée dans `/etc/hosts` pour résoudre le nom d'hôte sur 10.0.0.10. Ce comportement est modifié avec l'AMI 3.7.0 et Amazon EMR respecte désormais entièrement la configuration DHCP du VPC. Précédemment, les clients pouvaient également utiliser une action d'amorçage pour spécifier un mappage de nom d'hôte.

Si vous souhaitez conserver ce comportement, vous devez fournir le DNS et transmettre la configuration de résolution dont vous avez besoin pour le domaine personnalisé.

## Cluster `Terminated with errors` et NameNode ne démarre pas
<a name="emr-troubleshoot-namenode-dns"></a>

Lors du lancement d'un cluster EMR dans un VPC qui permet d'utiliser un nom de domaine DNS personnalisé, votre cluster peut échouer avec le message d'erreur suivant dans la console :

```
Terminated with errors  On the master instance(instance-id), bootstrap action 1 returned a  non-zero return code
```

L'échec est dû à l' NameNode impossibilité de démarrer. Cela entraînera la découverte de l'erreur suivante dans les NameNode journaux, dont l'URI Amazon S3 est de la forme `s3://amzn-s3-demo-bucket/logs/cluster-id/daemons/master instance-id/hadoop-hadoop-namenode-master node hostname.log.gz` :

```
2015-07-23 20:17:06,266 WARN
      org.apache.hadoop.hdfs.server.namenode.FSNamesystem (main): Encountered  exception
      loading fsimage  java.io.IOException: NameNode is not formatted.      
      at
      org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:212)
           at
      org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1020)
           at
      org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:739)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:537)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:596)      
      at  org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:765)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:749)      
      at
      org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1441)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1507)
```

Cela est dû à un problème potentiel où une instance EC2 peut avoir plusieurs jeux de noms de domaine pleinement qualifiés lors du lancement de clusters EMR dans un VPC, utilisant à la fois un serveur DNS fourni par AWS et un serveur DNS personnalisé fourni par l'utilisateur. Si le serveur DNS fourni par l'utilisateur ne fournit aucun enregistrement de pointeur (PTR) pour aucun enregistrement A utilisé pour désigner des nœuds dans un cluster EMR, les clusters échouent à démarrer lorsqu'ils sont configurés de cette façon. La solution consiste à ajouter 1 enregistrement PTR pour chaque enregistrement A créé lorsqu'une instance EC2 est démarrée dans un des sous-réseaux dans le VPC.