如何在Hadoop 1.2.1中控制用户作业/任务的日志消息级别

时间:2013-11-06 16:03:23

标签: hadoop

我需要从hadoop mapreduce作业中打印跟踪和调试消息,同时将hadoop系统消息保持在默认级别(默认为INFO)。

我尝试了以下内容:

在Job方法中添加了记录器消息:

package org.example.mapreducejob

public void reduce(Text extId, Iterable<MyData>> myDataItems, Context context)
        throws IOException, InterruptedException {
    log.debug("reduce(): i want this message to be printed in the userlogs");
    log.info("reduce(): Info message");
    ...
}

然后在$ HADOOP_HOME / conf / log4.properties中添加了以下行: log4j.logger.com.terapeak.etl=DEBUG

并重新启动节点

但是,只有“信息消息”出现在用户日志中。 我应该在哪里更改记录器配置以为用户作业启用DEBUG消息?

2 个答案:

答案 0 :(得分:2)

我找到了答案。在$ HADOOP_HOME / conf中,log4.properties有两个配置文件:

log4j.properties
task-log4j.properties

要更改用户作业的日志级别,您需要在task-log4j.properties

中进行更改

答案 1 :(得分:0)

请尝试

log4j.logger.org.apache.hadoop = DEBUG