Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 在Hadoop中将日志记录级别设置为警告_Logging_Hadoop - Fatal编程技术网

Logging 在Hadoop中将日志记录级别设置为警告

Logging 在Hadoop中将日志记录级别设置为警告,logging,hadoop,Logging,Hadoop,我尝试了很多方法在Hadoop中设置日志级别以发出警告,但每次都失败了。 首先,我尝试配置log4j.properties文件,只需将“INFO”替换为“WARN”。没有结果 接下来,我尝试给出Hadoop UNIX命令(符合以下要求): $hadoop daemonlog-设置级别 有没有可能一个人真的必须修改源代码才能工作?日志记录通常很容易控制,在大多数情况下,对日志记录属性的轻微调整通常可以做到这一点 可以通过修改conf/log4j.properties配置文件中的hadoop.roo

我尝试了很多方法在Hadoop中设置日志级别以发出警告,但每次都失败了。 首先,我尝试配置log4j.properties文件,只需将“INFO”替换为“WARN”。没有结果

接下来,我尝试给出Hadoop UNIX命令(符合以下要求):

$hadoop daemonlog-设置级别


有没有可能一个人真的必须修改源代码才能工作?日志记录通常很容易控制,在大多数情况下,对日志记录属性的轻微调整通常可以做到这一点

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

conf/log4j.properties
中的示例行:

hadoop.root.logger=WARN,console
我宁愿使用

HADOOP_ROOT_LOGGER=WARN,DRFA

在hadoop-env.sh中

或者可以在log4j.properties中使用hadoop.root.logger


DRFA将允许日志进入文件Appender,而不是Console->System.err/out。

Apache hadoop文档有点误导。如果您正在调试问题,可以使用以下步骤动态更改日志级别。您应该提到包名而不是文件名

示例:对于Namenode:hadoop daemonlog-setlevel lxv-centos-01:50070 org.apache.hadoop.hdfs.server.Namenode调试

对于Resourcemanager Thread daemonlog-setlevel lxv-centos-01:8088 org.apache.hadoop.Thread.server.Resourcemanager调试


重新启动进程时,上述设置将消失。这是调试问题的临时解决方案。

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

    hadoop daemonlog -setlevel hostname:port className logLevel
例如,将datanode日志的日志级别更改为警告

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

“无处不在”是什么意思?你是说使用
log4j.logger.org.apache.hadoop=WARN
做不到你想要的吗?我也会小心地将级别提高到
WARN
,除非你确信一切基本上都正常。例如,我的log4j.properties文件现在包括以下几行:log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=WARN hadoop.metrics.log.level=WARN log4j.logger.org.apache.hadoop.mapred.JobTracker=WARN log4j.logger.org.apache.hadoop.mapred.TaskTracker=WARNlog4j.logger.org.apache.hadoop.fs.FSNamesystem=WARN log4j.logger.org.apache.hadoop.metrics2=${hadoop.metrics.log.level}要与hadoop cli一起使用,可以通过以下方式启用该会话的日志级别:{code}导出hadoop_ROOT_logger=DEBUG,控制台hadoop fs-ls/{code}