如何启用 hdfs 和 mapred 审计日志?

How to enable hdfs and mapred audit logs?

我是 windows 的 hadoop-2.6.0 用户。我想启用 hdfs 和 mapred 日志。我可以通过在 hadoop-env.cmd 中设置以下 属性 来启用 hdfs 审计日志,但无法为 mapred 启用审计日志。

set HDFS_AUDIT_LOGGER=INFO,RFAAUDIT

如果我在 hadoop-env.cmd 中设置以上变量,那么 hdfs-audit.log 文件存储在 %HADOOP_LOG_DIR%.

我想启用 mapred 审计日志。在 %HADOOP_HOME%\etc\hadoop 中可用的 log4j.properties 中,我可以看到粘贴在下方的 mapred 的日志记录属性

mapred 审核日志记录

mapred.audit.logger=INFO,NullAppender
mapred.audit.log.maxfilesize=256MB
mapred.audit.log.maxbackupindex=20
log4j.logger.org.apache.hadoop.mapred.AuditLogger=${mapred.audit.logger}
log4j.additivity.org.apache.hadoop.mapred.AuditLogger=false
log4j.appender.MRAUDIT=org.apache.log4j.RollingFileAppender
log4j.appender.MRAUDIT.File=${hadoop.log.dir}/mapred-audit.log
log4j.appender.MRAUDIT.layout=org.apache.log4j.PatternLayout
log4j.appender.MRAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
log4j.appender.MRAUDIT.MaxFileSize=${mapred.audit.log.maxfilesize}
log4j.appender.MRAUDIT.MaxBackupIndex=${mapred.audit.log.maxbackupindex}

但无法启用 mapred 审核日志记录。当我更改以下属性时,空文件 mapred-audit.log 存储在 %HADOOP_LOG_DIR%.

mapred.audit.logger=INFO,MRAUDIT
-
-
-
log4j.additivity.org.apache.hadoop.mapred.AuditLogger=true
-
-

如何启用 mapred 审核日志?

不胜感激。

我找到了答案here

由于我使用的是 YARN 框架,我只是在 log4j.properties 文件中为 mapred.audit.logger

添加了以下行
log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger=${mapred.audit.logger}