Hadoop版本:2.7.3。
Hadoop的默认日志级别为INFO,对于百台以上的集群,如果文件操作频繁的话,NameNode会狂打日志,对性能会有一定的影响。
我们可以通过http://<namenode:50070>/logLevel
在线修改NameNode的日志级别。如下所示:
但是,如果NameNode重启的话,又得重新设置!
怎么设置默认的日志级别为WARN呢?
一、log4j.properties
Hadoop使用的是log4j记录日志,我们理所当然会想到去修改${HADOOP_HOME}/etc/hadoop/log4j.properties
# Define some default values that can be overridden by system properties
hadoop.root.logger=WARN,console
【注】上面的意思是说,这里的配置会被系统属性覆盖!
二、hadoop-daemon.sh
启动脚本${HADOOP_HOME}/sbin/hadoop-daemon.sh
,也需要这样改一下:
export HADOOP_LOGFILE=hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.log
export HADOOP_ROOT_LOGGER=${HADOOP_ROOT_LOGGER:-"WARN,RFA"}
export HADOOP_SECURITY_LOGGER=${HADOOP_SECURITY_LOGGER:-"WARN,RFAS"}
export HDFS_AUDIT_LOGGER=${HDFS_AUDIT_LOGGER:-"WARN,NullAppender"}
将修改后的文件同步到其他节点
最后再重启下NameNode就可以了。