Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Hadoop 1.2.1中控制用户作业/任务的日志消息级别_Hadoop - Fatal编程技术网

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

如何在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

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

我尝试了以下方法:

在作业方法添加的记录器消息中:

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