¿Dónde están los registros en Spark en YARN?
-
26-12-2019 - |
Pregunta
Soy nuevo en Spark.Ahora puedo ejecutar Spark 0.9.1 en hilo (2.0.0-cdh4.2.1).Pero no hay ningún 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 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 que decía:
14/04/14 18:51:52 INFORMACIÓN Cliente:Comando para ApplicationMaster:$JAVA_HOME/bin/java -server -Xmx640m -Djava.io.tmpdir=$PWD/tmp org.apache.spark.deploy.yarn.ApplicationMaster --class SimpleApp --jar ./spark-example-1.0.0.jar --args 'yarn-standalone' --worker-memory 1024 --worker-cores 1 --num-workers 3 1> <LOG_DIR>/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?
Solución
Artículo bonito para esta pregunta:
Corriendo la chispa en el hilo - Consulte la sección "Depuración de su solicitud".Explicación decente con todos los ejemplos requeridos.
Otros consejos
Puede acceder a los registros a través del comando
yarn logs -applicationId <application ID> [OPTIONS]
las opciones generales son:
appOwner <Application Owner>
- AppOwner (se supone que es el usuario actual si no se especifica)containerId <Container ID>
- ContainerID (debe especificarse si se especifica la dirección de nodo)nodeAddress <Node Address>
- NodeAddress en el formatonodename:port
(debe especificarse si se especifica la identificación 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>
Ninguna de las respuestas lo hace cristalino donde buscar registros (aunque lo hacen en pedazos), así que lo estoy poniendo juntos.
Si se enciende la agregación de registro (con el hilado de hilado de hilo.log-agregado-habilitar el sitio.xml), haga esto
yarn logs -applicationId <app ID>
Sin embargo, si esto no está encendido, entonces uno necesita ir en la máquina de nodos de datos y mirar a
$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/
application_1474886780074_xxxx es la identificación de la aplicación
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 chispa.