

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Erros da VPC durante as operações de cluster do Amazon EMR
<a name="emr-troubleshoot-error-vpc"></a>

Os erros a seguir são comuns na configuração da VPC no Amazon EMR.

**Topics**
+ [Configuração de sub-rede inválida](#emr-troubleshoot-error-gateway)
+ [Conjunto de opções DHCP ausente](#emr-troubleshoot-error-dhcp)
+ [Erros de permissão](#emr-troubleshoot-error-denied)
+ [Erros que resultam em `START_FAILED`](#emr-troubleshoot-error-vpc-dns)
+ [Cluster `Terminated with errors` e NameNode falha ao iniciar](#emr-troubleshoot-namenode-dns)

## Configuração de sub-rede inválida
<a name="emr-troubleshoot-error-gateway"></a>

 Na página **Cluster Details (Detalhes do cluster)**, no campo **Status**, será exibida uma mensagem de erro semelhante ao seguinte:

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

Para resolver esse problema, você deve criar um Gateway da Internet e anexá-lo à sua VPC. Para obter mais informações, consulte [Adicionar um gateway da Internet à VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html).

Como alternativa, verifique se você configurou a VPC com as opções **Enable DNS resolution (Habilitar resolução DNS)** e **Enable DNS hostname support (Habilitar suporte de nome de host DNS)** ativadas. Para obter mais informações, consulte [Como usar o DNS com sua VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html). 

## Conjunto de opções DHCP ausente
<a name="emr-troubleshoot-error-dhcp"></a>

Você verá uma falha de etapa no syslog (log do sistema) do cluster com uma mensagem de erro semelhante ao seguinte:

` 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.`

Para resolver esse problema, você deve configurar uma VPC que inclui um conjunto de opções DHCP cujos parâmetros estejam definidos como os seguintes valores: 

**nota**  
Se você usar a região AWS GovCloud (Oeste dos EUA), defina nome de domínio como **us-gov-west-1.compute.internal** em vez do valor usado no exemplo a seguir.
+ **domain-name** = **ec2.internal**

  Use **ec2.internal**, se a região for Leste dos EUA (Norte da Virgínia). Para outras regiões, use *region-name***.compute.internal**. Por exemplo, em us-west-2, use **domain-name**=**us-west-2.compute.internal**.
+ **domain-name-servers** = **AmazonProvidedDNS**

Para obter mais informações, consulte [Conjuntos de opções de DHCP](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html).

## Erros de permissão
<a name="emr-troubleshoot-error-denied"></a>

Uma falha no log `stderr` para uma etapa indica que um recurso do Amazon S3 não tem as permissões apropriadas. Este é um erro 403 e a mensagem de erro é semelhante a algo como:

```
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
```

Se ActionOnFailure for definido como`TERMINATE_JOB_FLOW`, isso resultará no encerramento do cluster com o estado,`SHUTDOWN_COMPLETED_WITH_ERRORS`.

Algumas maneiras de solucionar esse problema incluem:
+ Se você estiver usando uma política de bucket do Amazon S3 dentro de uma VPC, certifique-se de dar acesso a todos os buckets, criando um endpoint da VPC e selecionando **Permitir todos** na opção Política ao criar o endpoint. 
+ Certifique-se de que as políticas associadas a recursos do S3 incluam a VPC na qual você inicia o cluster.
+ Tente executar o seguinte comando a partir de seu cluster, para verificar se você pode acessar o bucket

  ```
  hadoop fs -copyToLocal s3://path-to-bucket /tmp/
  ```
+ Você pode obter mais informações de depuração específicas, ao configurar o parâmetro `log4j.logger.org.apache.http.wire` como `DEBUG` no arquivo `/home/hadoop/conf/log4j.properties` no cluster. Você pode verificar o arquivo de log `stderr` depois de tentar acessar o bucket a partir do cluster. O arquivo de log fornecerá informações mais detalhadas:

  ```
  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]"
  ```

## Erros que resultam em `START_FAILED`
<a name="emr-troubleshoot-error-vpc-dns"></a>

Antes da AMI 3.7.0, para VPCs onde um nome de host é especificado, o Amazon EMR mapeia os nomes de host internos da sub-rede com endereços de domínio personalizados da seguinte forma:. `ip-X.X.X.X.customdomain.com.tld` Por exemplo, se o nome do host fosse `ip-10.0.0.10` e a VPC tivesse a opção nome de domínio definida como customdomain.com, o nome de host resultante mapeado pelo Amazon EMR seria `ip-10.0.1.0.customdomain.com`. Uma entrada é incluída em `/etc/hosts` para resolver o nome do host como 10.0.0.10. Esse comportamento é alterado com a AMI 3.7.0 e agora o Amazon EMR honra totalmente a configuração de DHCP da VPC. Anteriormente, os clientes também podiam usar uma ação de bootstrap para especificar um mapeamento de nome de host.

Se quiser preservar esse comportamento, você deve fornecer o DNS e encaminhar a configuração de resolução que você precisa para o domínio personalizado.

## Cluster `Terminated with errors` e NameNode falha ao iniciar
<a name="emr-troubleshoot-namenode-dns"></a>

Ao iniciar um cluster do EMR em uma VPC que faz o uso de um nome de domínio DNS personalizado, pode haver falha no cluster com a seguinte mensagem de erro no console:

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

A falha é resultado da NameNode impossibilidade de inicialização. Isso resultará no seguinte erro encontrado nos NameNode registros, cujo URI do Amazon S3 tem o formato:: `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)
```

Isso é causado por um possível problema em que uma instância do EC2 pode ter vários conjuntos de nomes de domínio totalmente qualificados ao iniciar clusters do EMR em uma VPC que faz uso de um servidor DNS fornecido pela AWS e um servidor DNS personalizado fornecido pelo usuário. Se o servidor DNS fornecido pelo usuário não fornecer nenhum PTR (registro do apontador) para qualquer um dos registros A usados para designar nós em um cluster do EMR, haverá falha de inicialização nos clusters quando configurado desta maneira. A solução é adicionar um registro PTR para cada registro A criado quando uma instância do EC2 é executada em qualquer uma das sub-redes na VPC.