Namenode默认的日志级别是INFO, 在HDFS上的非常多的操作都会打印记录在日志文件中, 导致日志文件的体积非常庞大, 而这些内容并不是管理员非常关心的. 所以我们可以把日志级别调高一些, 过滤掉一些干扰信息的同时也可以节约空间, 日志磁盘和namenode的压力.
临时修改, 修改即生效, 在重启之后恢复默认
我们可以通过http://<namenode:50070>/logLevel
在线修改NameNode的日志级别。
查询目前设置的日志级别
这里以BlockStageChange
为例.
那么如何获知Log Name
呢?
这里打开日志文件, 如hadoop-hdfs-namenode-*****.log
, 找到日志文件中的这个日志头, 形如BlockStateChange
的这个位置的"类名"就是Log Name
了.
配置级别为WARN
这里值得注意的是
- 无论你在上面的查询框(
Get Log Level
)中输入任何字符串都会返回结果, 而不会显示不存在.- 这里的修改对于
hdfs-audit.log
文件不生效.
修改默认日志级别, 使生效需重启.
hadoop使用log4j配置日志文件级别. 直接修改log4j文件是没有用的, 因为看下面的注释,
log4j.properties
# Define some default values that can be overridden by system properties
hadoop.root.logger=WARN,console