2010-07-08 8 views

Respuesta

53

En realidad, stdout solo muestra el System.out.println() del clases que no son de mapa.

El System.out.println() para ver el mapa y reducir las fases se puede ver en los registros. La forma más fácil de acceder a los registros es

http://localhost:50030/jobtracker.jsp-> haga clic en el trabajo completado-> haga clic en el mapa o reduzca la tarea-> haga clic en número de tarea-> registros de tareas-> registros estándar.

Esperanza esto ayuda

+0

El mismo enfoque aplica también usando Oozie bajo Hue.Oozie planifica los trabajos de mapa MR2, pero no muestra los registros correctamente. Para verlos, debes ir bajo jobtracker.jsp. –

+0

JobTracker no existe en Hadoop 2 –

21

Otra forma es a través del terminal:

1) entra en tu Hadoop_Installtion directorio , luego en "logs/userlogs".
2) Abra su directorio job_id.
3) Verificar directorios con _ m_ si desea que la salida asignador o _r_ si usted está buscando reductores.

Ejemplo: En Hadoop-20.2.0:

 
> ls ~/hadoop-0.20.2/logs/userlogs/attempt_201209031127_0002_m_000000_0/ 
log.index stderr  stdout  syslog 

Los medios anteriores:
Hadoop_Installation: ~/hadoop-0.20.2
job_id: job_201209031127_0002
_m_: Mapa de tareas, " número mapa ": _000000_

4) abierta stdout si usó "system.out.println" o stderr si utilizó "system.err.append".

PS. otras versiones de hadoop pueden tener una jerarquía diferente a la vista, pero todas deben estar en $ Hadoop_Installtion/logs/userlogs.

8

Para obtener su mensaje de inicio de sesión y de registro en la consola, puede utilizar el marco de trabajo de Apache commons en su asignador y reductor.

public class MyMapper extends Mapper<..,...,..,...> { 

    public static final Log log = LogFactory.getLog(MyMapper.class) 

    public void map() throws Exception{ 
     // Log to stdout file 
     System.out.println("Map key "+ key); 

     //log to the syslog file 
     log.info("Map key "+ key); 

     if(log.isDebugEanbled()){ 
      log.debug("Map key "+ key); 
     } 

     context.write(key,value); 
    } 
} 
12

En un clúster Hadoop con yarn, se puede recuperar los registros, incluyendo la salida estándar, con:

yarn logs -applicationId application_1383601692319_0008 

Por alguna razón, me he encontrado que esto es más completa que lo que veo en la interfaz web. La interfaz web no me listó el resultado de System.out.println().

+3

Gracias por dar una respuesta para hadoop2. ¿Me puede decir por qué estoy recibiendo este error después de ejecutar ese comando? 'Los registros no están disponibles en/tmp/logs/hadoopuser/logs/application_1441282624447_3854' y' La agregación de registros no se completó o no está habilitada. –

Cuestiones relacionadas