Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
VPCerrores
Los siguientes errores son comunes a la VPC configuración en AmazonEMR.
Temas
Configuración de subredes no válida
En la página Cluster Details (Detalles del clúster), en el campo Status (Estado), ve un error similar al siguiente:
The subnet configuration was invalid: Cannot find route to InternetGateway in main RouteTable
rtb-id
for vpc vpc-id
.
Para resolver este problema, debe crear un Internet Gateway y adjuntarlo a suVPC. Para obtener más información, consulte Agregar una puerta de enlace de Internet a su VPC.
Como alternativa, compruebe que la ha configurado VPC con las opciones Habilitar la DNSresolución y Habilitar la compatibilidad con DNS nombres de host habilitadas. Para obtener más información, consulte Utilización DNS con su. VPC
Falta el conjunto DHCP de opciones
Puede ver un error de paso en el registro del sistema (syslog) del clúster con un error similar al siguiente:
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.
o
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 este problema, debe configurar un conjunto VPC que incluya un conjunto de DHCP opciones cuyos parámetros estén configurados en los siguientes valores:
nota
Si utiliza la región AWS GovCloud (EE. UU. Oeste), defina el nombre de dominio us-gov-west-1.compute.internal
en lugar del valor utilizado en el siguiente ejemplo.
-
domain-name =
ec2.internal
Use
ec2.internal
si su región es Este de EE. UU. (Norte de Virginia). Para otras regiones, utiliceregion-name
.compute.internal
. Por ejemplo, en us-west-2, utilice domain-name =.us-west-2.compute.internal
-
domain-name-servers =
AmazonProvidedDNS
Para obtener más información, consulte Conjuntos de opciones. DHCP
Errores de permisos
Un error en el registro stderr
de un paso indica que un recurso de Amazon S3 no tiene los permisos adecuados. Se trata de un error 403 y su aspecto es:
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 ActionOnFailure se establece enTERMINATE_JOB_FLOW
, esto provocará que el clúster termine con el estado,SHUTDOWN_COMPLETED_WITH_ERRORS
.
Algunas formas de solucionar este problema son:
-
Si utiliza una política de bucket de Amazon S3 dentro de unVPC, asegúrese de dar acceso a todos los buckets creando un VPC punto de enlace y seleccionando Permitir todo en la opción Política al crear el punto de enlace.
-
Asegúrese de que todas las políticas asociadas a los recursos de S3 incluyan la política VPC en la que lanza el clúster.
-
Pruebe a ejecutar el siguiente comando desde el clúster para verificar que puede acceder al bucket
hadoop fs -copyToLocal s3://
path-to-bucket
/tmp/ -
Puede obtener información más específica sobre la depuración definiendo el parámetro
log4j.logger.org.apache.http.wire
enDEBUG
en el archivo/home/hadoop/conf/log4j.properties
en el clúster. Puede comprobar el archivo de registrostderr
después de intentar acceder al bucket desde el clúster. El archivo de registro proporcionará información más detallada: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]"
Errores que dan lugar a START_FAILED
Antes de la AMI versión 3.7.0, VPCs cuando se especificaba un nombre de host, Amazon EMR mapea los nombres de host internos de la subred con direcciones de dominio personalizadas de la siguiente manera:. ip-
Por ejemplo, si el nombre de host era customdomain.com X.X.X.X.customdomain.com
.tldip-10.0.0.10
y VPC tiene la opción de nombre de dominio establecida en customdomain.com, el nombre de host resultante mapeado por Amazon sería. EMR ip-10.0.1.0.customdomain.com
Se añade una entrada en /etc/hosts
para resolver el nombre de host a 10.0.0.10. Este comportamiento se modificó con la AMI versión 3.7.0 y ahora Amazon EMR respeta la DHCP configuración de la versión VPC completa. Anteriormente, los clientes también podrían utilizar una acción de arranque para especificar un mapeo de nombre de host.
Si desea conservar este comportamiento, debe proporcionar la configuración de resolución directa DNS y directa que necesita para el dominio personalizado.
Se Terminated with
errors
agrupa y NameNode no se puede iniciar
Al lanzar un EMR clúster en un VPC que utiliza un nombre de DNS dominio personalizado, es posible que el clúster falle y muestre el siguiente mensaje de error en la consola:
Terminated with errors On the master instance(
instance-id
), bootstrap action 1 returned a non-zero return code
El error se debe a que NameNode no se pudo iniciar. Esto provocará que se encuentre el siguiente error en los NameNode registros, cuyo Amazon S3 URI tiene el siguiente formatos3://
:mybucket
/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)
Esto se debe a un posible problema por el que una EC2 instancia puede tener varios conjuntos de nombres de dominio completos al lanzar EMR clústeres en una instanciaVPC, lo que hace uso tanto de un servidor proporcionado por el usuario como AWS de un DNS servidor personalizado proporcionado por el usuarioDNS. Si el DNS servidor proporcionado por el usuario no proporciona ningún registro de puntero (PTR) para ninguno de los registros A utilizados para designar los nodos de un EMR clúster, los clústeres no se iniciarán correctamente si se configuran de esta manera. La solución consiste en añadir 1 PTR registro por cada registro A que se cree cuando se lanza una EC2 instancia en cualquiera de las subredes del. VPC