我尝试了很多方法将Hadoop中的日志记录级别设置为WARN,但每次都失败了。首先,我尝试配置log4j.properties文件,只是将所有地方的“INFO”替换为“WARN”。没有结果。
接下来,我尝试给予Hadoop UNIX命令(根据http://hadoop.apache.org/common/docs/current/commands_manual.html#daemonlog):
$ hadoop守护程序日志-设置级别
有没有可能实际上必须改变源代码才能使其工作?日志记录通常很容易控制,在大多数情况下,对日志记录属性进行轻微调整通常就可以做到这一点。
5条答案
按热度按时间jei2mxaa1#
我宁愿用
HADOOP根记录器=警告,DRFA
in hadoop-env.sh
or you can use hadoop.root.logger in log4j.properties
DRFA将允许日志进入文件附加器,而不是控制台-〉System.err/out。
afdcj2ne2#
要动态更改日志级别,以便不需要重新启动守护进程,请使用hadoop daemonlog实用程序。
例如,将datanode日志的日志级别更改为WARN。
qzwqbdag3#
Apache hadoop文档有点误导。如果你正在调试问题,你可以使用下面的步骤动态地更改日志级别。你应该提到包名而不是文件名。
示例:对于名称节点:hadoop守护进程日志-设置级别lxv-centos-01:50070 org.apache.hadoop.hdfs.服务器.名称节点调试
对于资源管理器Yarn守护进程日志-setlevel lxv-centos-01:8088 org.apache.hadoop.Yarn.服务器.资源管理器调试
重新启动进程时,上述设置将消失。这是调试问题的临时解决方案。
mlnl4t2r4#
默认的日志级别可以通过修改
conf/log4j.properties
配置文件中的hadoop.root.logger
属性来调整。注意,您必须对集群中的每个节点都这样做。conf/log4j.properties
中的示例行:fkaflof65#
1.如果exec
HADOOP_ROOT_LOGGER=WARN,console
,则无任何更改;1.如果为ecec
export HADOOP_ROOT_LOGGER=WARN,console
,则有效;我在hadoop-3.1.3上测试了上述命令。