tutoriales que para necesito multinodo make instalar how configurar cluster and hadoop log4j

multinodo - que necesito para instalar hadoop



Controlar la funcionalidad de registro en hadoop (1)

¿Cómo controlar la funcionalidad de registro en hadoop? Hadoop usa el archivo predeterminado log4j.properties para controlar los registros. Mi caso de uso es controlar los registros generados por mis clases.

Los daemons de Hadoop como JobTracker , TaskTracker , NameNode y los procesos de daemon de DataNode usan el archivo log4j.properties desde el hadoop-conf-directory de su nodo host respectivo. El rootLogger está configurado en "INFO, consola", que registra todos los mensajes en el nivel INFO de la consola.

Active los trabajos de hadoop usando Oozie Workflow. Intenté pasar mi archivo personalizado log4j.properties al trabajo estableciendo la propiedad del sistema -Dlog4j.configuration=path/to/log4j.properties , pero no está funcionando. Aún así, toma las propiedades de log4j del predeterminado.

No se supone que toque el archivo predeterminado log4j.properties.

Estoy usando Oozie-v3.1.3-incubating, hadoop-v0.20 y cloudera CDH-v4.0.1.

¿Cómo puedo sobrescribir el archivo predeterminado log4j.properties? o ¿Cómo puedo controlar los registros de mis clases?


¿Qué específicamente estás tratando de lograr con tu propio archivo Log4J? Lo pregunto porque los registros están distribuidos en su clúster, pero al iniciar sesión en el rootLogger, debe poder verlos a través del rastreador de trabajos (al profundizar en los intentos de la tarea de trabajo).

Si desea utilizar archivos continuos, le resulta difícil recuperar esos archivos más adelante (nuevamente porque están distribuidos en sus nodos de tareas).

Si desea establecer dinámicamente niveles de registro, esto debería ser lo suficientemente simple:

public static Logger log = Logger.getLogger(MyMapper.class); @Override protected void setup(Context context) throws IOException, InterruptedException { log.setLevel(Level.WARN); }

Si desea agregar sus propios appenders, entonces debe poder hacer esto programáticamente (vea esta pregunta SO ), en el método de configuración como se indicó anteriormente.