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.
Errores de entrada y salida de clúster durante la operaciones de Amazon EMR
Los errores siguientes son habituales en las operaciones de entrada y salida de clúster. Utilice las instrucciones de este tema para solucionar problemas y comprobar su configuración.
Temas
- ¿La ruta hacia Amazon Simple Storage Service (Amazon S3) tiene por lo menos tres barras?
- ¿Está intentando atravesar de forma recursiva directorios de entrada?
- ¿Ya existe el directorio de salida?
- ¿Está intentando especificar un recurso mediante una URL HTTP?
- ¿Está haciendo referencia a un bucket de Amazon S3; con un formato de nombre no válido?
- ¿Tiene problemas para cargar datos hacia o desde Amazon S3?
¿La ruta hacia Amazon Simple Storage Service (Amazon S3) tiene por lo menos tres barras?
Cuando especifique un bucket de Amazon S3, deberá incluir una barra de terminación al final de la URL. Por ejemplo, en lugar de hacer referencia a un bucket como “s3n://amzn-s3-demo-bucket1”, debería utilizar “s3n://amzn-s3-demo-bucket1/”; de lo contrario, Hadoop genera un error en el clúster en la mayoría de los casos.
¿Está intentando atravesar de forma recursiva directorios de entrada?
Hadoop no busca directorios de entrada de forma recursiva para archivos. Si tiene una estructura de directorios, el directorioas /corpus/01/01.txt, /corpus/01/02.txt, /corpus/02/01.txt, etc. and you specify /corpus/ as the input parameter to your cluster, Hadoop does not find any input files because the /corpus/está vacío y Hadoop no comprueba el contenido de los subdirectorios. Del mismo modo, Hadoop no comprueba recursivamente los subdirectorios de buckets de Amazon S3.
Los archivos de entrada deben estar directamente en el directorio de entrada o bucket de Amazon S3 que especifique, no en subdirectorios.
¿Ya existe el directorio de salida?
Si especifica una ruta de salida que ya existe, Hadoop generará un error en el clúster en la mayoría de los casos. Esto significa que si ejecuta un clúster una vez y, a continuación, lo vuelve a ejecutar con los mismos parámetros, probablemente funcionará la primera vez y, a continuación, nunca más; después de la primera ejecución, existe la ruta de salida y, por lo tanto, hace que todas las ejecuciones sucesivas generen un error.
¿Está intentando especificar un recurso mediante una URL HTTP?
Hadoop no acepta las ubicaciones de los recursos especificados mediante el prefijo http://. No puede hacer referencia a un recurso con una dirección URL HTTP. Por ejemplo, transferir http://mysite/myjar.jar como parámetro JAR provoca que el clúster devuelva un error.
¿Está haciendo referencia a un bucket de Amazon S3; con un formato de nombre no válido?
Si intenta utilizar un nombre de bucket como “amzn-s3-demo-bucket1.1” con Amazon EMR, el clúster devolverá un error porque Amazon EMR requiere que los nombres de bucket sean nombres de host RFC 2396 válidos; el nombre no puede terminar por un número. Además, debido a los requisitos de Hadoop, los nombres de bucket de Amazon S3 que se utilizan con Amazon EMR solo puede contener letras en minúsculas, números, puntos (.) y guiones (-). Para obtener más información acerca de las convenciones de nomenclatura de buckets de Amazon S3, consulte Restricciones y limitaciones de los buckets en la Guía del usuario de Amazon Simple Storage Service.
¿Tiene problemas para cargar datos hacia o desde Amazon S3?
Amazon S3 es el origen de entrada y salida más popular para Amazon EMR. Un error común consiste en tratar Amazon S3 como si fuera un sistema de archivos habitual. Existen diferencias entre Amazon S3 y un sistema de archivos que debe tener en cuenta a la hora de ejecutar el clúster.
-
Si se produce un error interno en Amazon S3, la aplicación tiene que gestionarlo correctamente y volver a intentar la operación.
-
Si las llamadas a Amazon S3 tardan demasiado tiempo en devolverse, es posible que la aplicación tenga que reducir la frecuencia con la que llama a Amazon S3.
-
Enumerar todos los objetos en un bucket de Amazon S3 es una llamada costosa. La aplicación debe minimizar el número de veces que lo hace.
Existen varias formas de mejorar la forma en la que el clúster interactúa con Amazon S3.
-
Inicie el clúster con la versión de lanzamiento más reciente de Amazon EMR.
-
Utilice S3 DistCp para mover objetos dentro y fuera de Amazon S3. S3 DistCp implementa la gestión de errores, los reintentos y los retrasos para cumplir con los requisitos de Amazon S3. Para obtener más información, consulte Copia distribuida mediante S3. DistCp
-
Diseñe la aplicación teniendo en cuenta la consistencia final. Utilice HDFS para el almacenamiento de datos intermedios mientras que el clúster se está ejecutando y Amazon S3 únicamente para entrada de los datos iniciales y salida de los resultados finales.
-
Si los clústeres confirmarán 200 o más transacciones por segundo en Amazon S3, contacte con la asistencia técnica
para preparar el bucket para que haga más transacciones por segundo y plantéese el uso de las estrategias de partición de claves que se describen en Consejos y trucos de rendimiento de Amazon S3 . -
Defina el ajuste de configuración de Hadoop io.file.buffer.size en 65 536. Esto hace que Hadoop dedique menos tiempo a buscar a través de objetos de Amazon S3.
-
Plantéese deshabilitar la característica de ejecución especulativa de Hadoop si su clúster experimenta problemas de simultaneidad de Amazon S3. Esto también resulta útil cuando se solucionan problemas de un clúster lento. Para ello, establezca las propiedades
mapreduce.reduce.speculative
mapreduce.map.speculative
y enfalse
. Cuando lance un clúster, podrá establecer estos valores mediante la clasificación de configuraciónmapred-env
. Para obtener más información, consulte Configuración de aplicaciones en la Guía de publicación de Amazon EMR. -
Si ejecuta un clúster de Hive, consulte ¿Tiene problemas para cargar datos hacia o desde Amazon S3 en Hive?.
Para obtener información adicional, consulte Prácticas recomendadas de errores de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.