如何抑制控制台上的Hadoop日志记录消息

0yycz8jy  于 2022-11-01  发布在  Hadoop
关注(0)|答案(2)|浏览(317)

这些是我试图抑制的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

我想它们是4j.properties在hadoop安装目录下的conf目录下由logg www.example.com配置的。无论我如何删除logger,注解掉logger,甚至重命名log4j.properties。它们仍然被打印出来。请指示。
我还怀疑如果邮件量很大的话,这些大量的邮件会影响整体性能。谢谢,

tkqqtvp1

tkqqtvp11#

你必须把日志级别提高到WARN,我假设它目前在INFO上。也许你必须重新编译,因为属性也包含在jar中。

k3bvogb1

k3bvogb12#

我已经找到了解决这个问题的方法。它所需要的只是改变mapreduce的配置文件。

  1. mapreduce.map.log.level的值可以是OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE和ALL。如果设置了“mapreduce.job.log4j-properties-file”,则可以覆盖该设置。
  2. mapreduce.reduce.log.level也可以接受OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE和ALL等值。如果设置了“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代码时,因为没有日志消息是可见的。

相关问题