hadoop logging apache-spark cloudera yarn

hadoop - ¿Dónde están los registros en Chispa en HILO?



logging apache-spark (4)

Bonito artículo para esta pregunta:

Ejecutar 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 obtener el servidor de historial de trabajo correcto para Spark es cerrar el contexto de Spark en su aplicación. De lo contrario, el servidor de historial de aplicaciones no lo verá como COMPLETO y no mostrará nada (a pesar de que la interfaz de usuario del historial es accesible pero no tan visible).

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

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

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 registros / stderr / stdout?

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

14/04/14 18:51:52 Cliente de INFO: Comando para ApplicationMaster: $ JAVA_HOME / bin / java -server -Xmx640m -Djava.io.tmpdir = $ PWD / tmp org.apache.spark.deploy.yarn.ApplicationMaster --clase simple de clase --jar ./spark-example-1.0.0.jar --args ''yarn-independiente'' - memoria de trabajo 1024 - núcleos de trabajadores 1 - operadores de nulos 3 1> <DIR_LOGAR> / stdout 2> <LOG_DIR> / stderr

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

¿Dónde se puede configurar LOG_DIR?


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

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

yarn logs -applicationId <app ID>

Sin embargo, si esto no está activado, entonces hay que ir a la máquina de nodo de datos y mirar

$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/

application_1474886780074_XXXX es la id de la aplicación


Puede acceder a los registros a través del comando

yarn logs -applicationId <application ID> [OPTIONS]

las opciones generales son: -appOwner AppOwner (se asume que es usuario actual si no se especifica) -containerId ContainerId (se debe especificar si se especifica la dirección del nodo) -nodeAddress NodeAddress en el formato nodename: port (se debe especificar si se especifica 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>


Se conecta a:

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

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