es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Los pasos del EMR que deberían tomar segundos están tomando minutos.

Estoy ejecutando una serie de pasos muy simples en mi clúster de EMR. Un paso de ese tipo es crear una tabla hbase de la siguiente manera:

archivo step.json

{
    "Name": "Comando para crear tabla",
    "Type": "CUSTOM_JAR",
    "ActionOnFailure": "CONTINUE",
    "Jar": "command-runner.jar",
    "Args":
    [
        "bash",
        "-c",
        "echo create 'myTable', 'a' > create_table.txt; hbase shell -n create_table.txt;"
    ]
}

y se supone que el comando debe tardar aproximadamente 0.5 segundos en ejecutarse, pero en este momento el paso se está ejecutando durante más de 18 minutos. Sin embargo, el comando se ha ejecutado. Veo en el archivo de registro de salida estándar que así sucedió:

stdout

Created table factuserdatastep-echo
Took 4.8382 seconds
Hbase::Table - factuserdatastep-echo

Y puedo verificar en la terminal que todo está como se pretende. Pero los pasos simplemente no se terminan. El controlador está atascado en esto:

controller

...
INFO ProcessRunner started child process 26901
2021-12-14T15:05:45.305Z INFO HadoopJarStepRunner.Runner: startRun() called for s-34LXK66Z Child Pid: 26901
INFO Synchronously wait child process to complete : hadoop jar /var/lib/aws/emr/step-runner/hadoop-...

No estoy seguro de qué está tardando tanto, ¿alguien tiene alguna idea de por qué el paso no se está terminando?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el paso está atascado en el proceso del controlador y no se está terminando a pesar de que el comando se ha ejecutado correctamente. Puede haber varias razones por las cuales esto está sucediendo:

    1. Recursos insuficientes: Si el clúster EMR no tiene suficientes recursos, es posible que el paso tarde más en completarse incluso si es un comando simple. Puede intentar aumentar el número de nodos principales o de tareas en la configuración del clúster para ver si esto resuelve el problema.
    2. Latencia de red: Si hay una alta latencia de red en el clúster, esto podría causar retrasos en la ejecución del paso. Verifique la configuración de red del clúster EMR y vea si hay alguna forma de mejorar el rendimiento de la red.

    3. Problemas del sistema de archivos: Si hay problemas con el sistema de archivos, esto podría hacer que el paso se quede colgado. Verifique los registros en busca de errores o advertencias del sistema de archivos e intente resolverlos.

    4. Problemas de configuración: Si el archivo step.json no está configurado correctamente, esto podría causar que el paso se quede colgado. Verifique el archivo en busca de errores y asegúrese de que la configuración sea correcta.

    Sería útil recopilar más información, como los registros del clúster y la utilización de recursos, para determinar la causa raíz del problema. Además, puede intentar ejecutar el paso nuevamente o probar con un comando diferente para ver si el problema persiste.

Comments are closed.