¿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?
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).
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 formatonodename: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>
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
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.
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