¿Dónde están los registros en Spark on YARN?


Soy nuevo en spark. Ahora puedo ejecutar spark 0.9.1 en yarn (2.0.0-cdh4.2.1). Pero no hay registro después de la ejecución.

El siguiente comando se utiliza para ejecutar un ejemplo de spark. Pero los registros no se encuentran en el servidor de historial como en un trabajo MapReduce normal.

SPARK_JAR=./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.2.1.jar \
./bin/spark-class org.apache.spark.deploy.yarn.Client --jar ./spark-example-1.0.0.jar \
--class SimpleApp --args yarn-standalone  --num-workers 3 --master-memory 1g \
--worker-memory 1g --worker-cores 1

¿Dónde puedo encontrar los logs/stderr/stdout?

¿Hay algún lugar para establecer la configuración? Encontré una salida de la consola diciendo:

14/04/14 18:51:52 INFO Client: Comando para el ApplicationMaster: $JAVA_HOME/bin/java -server-Xmx640m -Djava.io.tmpdir=$PWD/tmp org.apache.chispa.desplegar.hilo.ApplicationMaster Simpl class SimpleApp jar jar ./ spark-example-1.0.0.jar arg args ' yarn-standalone 'worker worker-memory 1024 worker worker-cores 1 n num-workers 3 1 > / stdout 2 > / stderr

En esta línea, observe 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr

¿Dónde se puede establecer LOG_DIR?

Author: Jacek Laskowski, 2014-04-14

4 answers

Bonito artículo para esta pregunta:

Ejecución de Spark en YARN - consulte la sección "Depuración de su aplicación". Explicación decente con todos los ejemplos requeridos.

Lo único que debe seguir para que el servidor de historial de Spark funcione correctamente es cerrar el contexto de Spark en su aplicación. De lo contrario, el servidor de historial de aplicaciones no lo ve como COMPLETO y no muestra nada (a pesar de que la interfaz de usuario del historial es accesible pero no tan visible).

 18
Author: Roman Nikitchenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-04 11:27:03

Puede acceder a los registros a través del comando

yarn logs -applicationId <application ID> [OPTIONS]

Las opciones generales son:

  • appOwner <Application Owner> - Propietario de la aplicación (se supone que es el usuario actual si no se especifica)
  • containerId <Container ID> - containerId (debe especificarse si nodo dirección especificada)
  • nodeAddress <Node Address> - NodeAddress en el formato nodename:port (debe especificarse si se especifica el id del contenedor)

Ejemplos:

yarn logs -applicationId application_1414530900704_0003                                      
yarn logs -applicationId application_1414530900704_0003 myuserid

// the user ids are different
yarn logs -applicationId <appid> --appOwner <userid>
 27
Author: MARK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-13 08:16:10

Ninguna de las respuestas deja muy claro dónde buscar troncos ( aunque lo hacen en pedazos), así que los estoy juntando.

Si la agregación de registros está activada (con el hilo.log-aggregation-enable yarn-site.xml) luego haga esto

yarn logs -applicationId <app ID>

Sin embargo, si esto no está activado, entonces uno necesita ir a la máquina de nodos de datos y mirar

$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/

Application_1474886780074_XXXX es el id de la aplicación

 13
Author: Somum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-07 07:32:00

Se registra en:

/var/log/hadoop-yarn/containers/[application id]/[container id]/stdout

Los registros están en cada nodo en el que se ejecuta su trabajo de Spark.

 11
Author: Carlos Rendon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-02 18:39:17