可以通过 http://<namenode:50070>/logLevel 在线修改 NameNode 的日志级别。但是 NameNode 重启之后又得重新设置。
Hadoop 使用的是 log4j 记录日志,所以去修改 ${HADOOP_HOME}/etc/hadoop/log4j.properties,但是改完重启,你会发现然并卵!
看看 log4j.properties 的配置说明:

也就是说这里的配置会被系统属性所覆盖!
查了下发现需要修改下面两个配置,才能把默认的日志级别改掉:
一个是 ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh,把 INFO 改为 WARN :

另一个是启动脚本 ${HADOOP_HOME}/sbin/hadoop-daemon.sh,把 INFO 改为 WARN:
![]()
最后再重启下 NameNode 就可以了。
Hbase 的参照上面的,修改 hbase-env.sh 和 hbase-daemon.sh 即可。
本文介绍了如何修改Hadoop和Hbase的日志级别。通过改变log4j配置文件以及相应启动脚本中的日志级别设置,如将INFO改为WARN,以避免NameNode重启后设置失效。同时,对于Hbase,同样需要修改hbase-env.sh和hbase-daemon.sh以实现日志级别的持久更改。
5876

被折叠的 条评论
为什么被折叠?



