这些是我试图压制的Hadoop日志消息
11/10/17 19:42:23 INFO mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584)
11/10/17 19:42:23 INFO mapred.MapTask: mapreduce.task.io.sort.mb: 100
11/10/17 19:42:23 INFO mapred.MapTask: soft limit at 83886080
11/10/17 19:42:23 INFO mapred.MapTask: bufstart = 0; bufvoid = 104857600
11/10/17 19:42:23 INFO mapred.MapTask: kvstart = 26214396; length = 6553600
我认为它们是由conf目录下的logg 4j.properties配置的 在hadoop安装目录下。无论我如何删除记录器,请评论 退出记录器,甚至重命名log4j.properties。它们仍在印刷中。 请指教。
此外,我怀疑如果音量很大,这些大量消息将影响整体性能。 谢谢,
答案 0 :(得分:1)
你必须将日志级别增加到WARN,我假设它当前在INFO上。 也许你必须重新编译,因为这些属性也可能包含在jar中。
答案 1 :(得分:1)
我找到了解决方案。它需要的只是更改mapreduce的配置文件。
mapreduce.map.log.level可以取值为OFF,FATAL,ERROR,WARN, INFO,DEBUG,TRACE和ALL。如果,则可以覆盖该设置 " mapreduce.job.log4j的属性文件"已经确定。
mapreduce.reduce.log.level也可以取值为OFF,FATAL, 错误,警告,信息,调查,追踪和所有。设置可能是 覆盖if" mapreduce.job.log4j-properties-file"是的。所以 更好地确保" mapreduce.job.log4j-properties-file"是 没有设定。
我们必须在mapred-site.xml中设置以下属性。
<property>
<name>mapreduce.map.log.level</name>
<value>OFF</value>
</property>
<property>
<name>mapreduce.reduce.log.level</name>
<value>OFF</value>
</property>
现在我在控制台上看不到任何日志消息。但是它也有缺点,因为我们无法在执行mapreduce代码时发现任何错误,因为没有日志消息可见。