我已尝试过多种方法将Hadoop中的日志记录级别设置为WARN,但每次都失败了.首先,我尝试通过简单地将"INFO"替换为"WARN"来配置log4j.properties文件.没有结果.
接下来,我尝试提供Hadoop UNIX命令(根据http://hadoop.apache.org/common/docs/current/commands_manual.html#daemonlog):
$ hadoop daemonlog -setlevel
是否有可能实际上必须改变源代码以使其工作?记录通常很容易控制,在大多数情况下,稍微调整记录属性通常会...
我宁愿用
HADOOP_ROOT_LOGGER = WARN,DRFA
在hadoop-env.sh中
或者你可以在log4j.properties中使用hadoop.root.logger
DRFA将允许日志进入File Appender而不是Console - > System.err/out.
小智 6
要动态更改日志级别,以便不需要重新启动守护进程,请使用 hadoop daemonlog 实用程序。
hadoop daemonlog -setlevel hostname:port className logLevel
Run Code Online (Sandbox Code Playgroud)
例如将datanode日志的日志级别更改为WARN。
hadoop daemonlog -setlevel hostname:50075 org.apache.hadoop.hdfs.server.datanode.DataNode WARN
Run Code Online (Sandbox Code Playgroud)
可以通过修改配置文件hadoop.root.logger中的属性来调整默认日志级别conf/log4j.properties。请注意,您必须对集群中的每个节点执行此操作。
示例行conf/log4j.properties:
hadoop.root.logger=WARN,console
Run Code Online (Sandbox Code Playgroud)