我需要从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消息?
答案 0 :(得分:2)
我找到了答案。在$ HADOOP_HOME / conf中,log4.properties有两个配置文件:
log4j.properties
task-log4j.properties
要更改用户作业的日志级别,您需要在task-log4j.properties
答案 1 :(得分:0)
请尝试
log4j.logger.org.apache.hadoop = DEBUG