MapReduce日志介绍
日志描述
日志默认存储路径:
- JobhistoryServer:“/var/log/Bigdata/mapreduce/jobhistory”(运行日志),“/var/log/Bigdata/audit/mapreduce/jobhistory”(审计日志)
- Container:“/srv/BigData/hadoop/data1/nm/containerlogs/application_${appid}/container_{$contid}”

运行中的任务日志存储在以上路径中,运行结束后会基于YARN的配置是否汇聚到HDFS目录中,详情请参见Yarn常用配置参数。
日志归档规则:
MapReduce的日志启动了自动压缩归档功能,缺省情况下,当日志大小超过50MB的时候,会自动压缩,压缩后的日志文件名规则为:“<原有日志名>-<yyyy-mm-dd_hh-mm-ss>.[编号].log.zip”。最多保留最近的100个压缩文件,压缩文件保留个数可以在参数配置界面中配置。
在MapReduce服务中,JobhistoryServer会定时去清理HDFS上存储的旧的日志文件(默认目录为HDFS文件系统中的“/mr-history/done”),具体清理的时间间隔参数配置为mapreduce.jobhistory.max-age-ms,默认值为1296000000,即15天。
日志类型 | 日志文件名 | 描述 |
|---|---|---|
运行日志 | jhs-daemon-start-stop.log | 守护进程(Daemon)的启动日志。 |
hadoop-<SSH_USER>-jhshadaemon-<hostname>.log | 守护进程(Daemon)的运行日志。 | |
hadoop-<SSH_USER>-<process_name>-<hostname>.out | MR运行环境信息日志。 | |
historyserver-<SSH_USER>-<DATE>-<PID>-gc.log | MR服务垃圾回收日志。 | |
jhs-haCheck.log | MR实例主备状态检查日志。 | |
yarn-start-stop.log | MR服务启停操作日志。 | |
yarn-prestart.log | MR服务启动前集群操作的记录日志。 | |
yarn-postinstall.log | MR服务安装后启动前的工作日志。 | |
yarn-cleanup.log | MR服务卸载时候的清理日志。 | |
mapred-service-check.log | MR服务健康状态检测日志。 | |
container_{$contid} | Container日志。 | |
hadoop-<SSH_USER>-<process_name>-<hostname>.log | MR运行日志。 | |
mapred-switch-jhs.log | MR主备倒换日志。 | |
env.log | 实例启停前的环境信息日志。 | |
审计日志 | mapred-audit-jobhistory.log | MR操作审计日志。 |
SecurityAuth.audit | MR安全审计日志。 |
日志级别
MapReduce中提供了如表2所示的日志级别。其中日志级别优先级从高到低分别是FATAL、ERROR、WARN、INFO、DEBUG。程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。
级别 | 描述 |
|---|---|
FATAL | FATAL表示当前事件处理存在严重错误信息。 |
ERROR | ERROR表示当前事件处理存在错误信息。 |
WARN | WARN表示当前事件处理存在异常告警信息。 |
INFO | INFO表示记录系统及各事件正常运行状态信息。 |
DEBUG | DEBUG表示系统及系统的调试信息。 |
如果您需要修改日志级别,请执行如下操作:
- 进入MapReduce服务参数“全部配置”界面,具体操作请参考修改集群服务配置参数。
- 左边菜单栏中选择所需修改的角色所对应的日志菜单。
- 选择所需修改的日志级别。
- 保存配置,在弹出窗口中单击“确定”使配置生效。

配置完成后立即生效,不需要重启服务。
日志格式
MapReduce日志格式如下所示:
日志类型 | 格式 | 示例 |
|---|---|---|
运行日志 | <yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置> | 2020-01-26 14:18:59,109 | INFO | main | Client environment:java.compiler=<NA> | org.apache.zookeeper.Environment.logEnv(Environment.java:100) |
审计日志 | <yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置> | 2020-01-26 14:24:43,605 | INFO | main-EventThread | USER=omm OPERATION=refreshAdminAcls TARGET=AdminService RESULT=SUCCESS | org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger$LogLevel$6.printLog(RMAuditLogger.java:91) |

