将Hadoop中的日志记录级别设置为WARN

qvsjd97n  于 2022-12-22  发布在  Hadoop
关注(0)|答案(5)|浏览(192)

我尝试了很多方法将Hadoop中的日志记录级别设置为WARN,但每次都失败了。首先,我尝试配置log4j.properties文件,只是将所有地方的“INFO”替换为“WARN”。没有结果。
接下来,我尝试给予Hadoop UNIX命令(根据http://hadoop.apache.org/common/docs/current/commands_manual.html#daemonlog):
$ hadoop守护程序日志-设置级别
有没有可能实际上必须改变源代码才能使其工作?日志记录通常很容易控制,在大多数情况下,对日志记录属性进行轻微调整通常就可以做到这一点。

jei2mxaa

jei2mxaa1#

我宁愿用
HADOOP根记录器=警告,DRFA
in hadoop-env.sh
or you can use hadoop.root.logger in log4j.properties
DRFA将允许日志进入文件附加器,而不是控制台-〉System.err/out。

afdcj2ne

afdcj2ne2#

要动态更改日志级别,以便不需要重新启动守护进程,请使用hadoop daemonlog实用程序。

hadoop daemonlog -setlevel hostname:port className logLevel

例如,将datanode日志的日志级别更改为WARN。

hadoop daemonlog -setlevel hostname:50075 org.apache.hadoop.hdfs.server.datanode.DataNode WARN
qzwqbdag

qzwqbdag3#

Apache hadoop文档有点误导。如果你正在调试问题,你可以使用下面的步骤动态地更改日志级别。你应该提到包名而不是文件名。
示例:对于名称节点:hadoop守护进程日志-设置级别lxv-centos-01:50070 org.apache.hadoop.hdfs.服务器.名称节点调试
对于资源管理器Yarn守护进程日志-setlevel lxv-centos-01:8088 org.apache.hadoop.Yarn.服务器.资源管理器调试
重新启动进程时,上述设置将消失。这是调试问题的临时解决方案。

mlnl4t2r

mlnl4t2r4#

默认的日志级别可以通过修改conf/log4j.properties配置文件中的hadoop.root.logger属性来调整。注意,您必须对集群中的每个节点都这样做。
conf/log4j.properties中的示例行:

hadoop.root.logger=WARN,console
fkaflof6

fkaflof65#

1.如果exec HADOOP_ROOT_LOGGER=WARN,console,则无任何更改;
1.如果为ecec export HADOOP_ROOT_LOGGER=WARN,console则有效;
我在hadoop-3.1.3上测试了上述命令。

[app@hadoop01 datax-202210]$ HADOOP_ROOT_LOGGER=WARN,console
[app@hadoop01 datax-202210]$ hadoop fs -cat /base_province/* | zcat
2022-12-18 16:54:04,965 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
3       山西    1       140000  CN-14   CN-SX
4       内蒙古  1       150000  CN-15   CN-NM
[app@hadoop01 datax-202210]$ export HADOOP_ROOT_LOGGER=WARN,console
[app@hadoop01 datax-202210]$ hadoop fs -cat /base_province/* | zcat
3       山西    1       140000  CN-14   CN-SX
4       内蒙古  1       150000  CN-15   CN-NM

相关问题