如何在Hadoop 1.2.1中控制用户作业/任务的日志消息级别
我需要打印hadoop mapreduce作业中的跟踪和调试消息,同时将hadoop系统消息保持在默认级别(默认情况下为INFO) 我尝试了以下方法: 在作业方法添加的记录器消息中:如何在Hadoop 1.2.1中控制用户作业/任务的日志消息级别,hadoop,Hadoop,我需要打印hadoop mapreduce作业中的跟踪和调试消息,同时将hadoop系统消息保持在默认级别(默认情况下为INFO) 我尝试了以下方法: 在作业方法添加的记录器消息中: package org.example.mapreducejob public void reduce(Text extId, Iterable<MyData>> myDataItems, Context context) throws IOException, Interrup
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");
...
}
package org.example.mapreducejob
公共void reduce(文本extId,Iterable>myDataItems,上下文)
抛出IOException、InterruptedException{
debug(“reduce():我希望在userlogs中打印此消息”);
log.info(“reduce():info message”);
...
}
然后我在$HADOOP_HOME/conf/log4.properties中添加了一行:
log4j.logger.com.terapeak.etl=DEBUG
然后重新启动节点
但是,用户日志中只显示“信息消息”。
我应该在哪里更改记录器配置以启用用户作业的调试消息?请重试
log4j.logger.org.apache.hadoop = DEBUG
我找到了答案。在$HADOOP_HOME/conf中有两个log4.properties的配置文件:
log4j.properties
task-log4j.properties
要更改用户作业的日志级别,您需要在task-log4j.properties