更新时间:2023-03-17 GMT+08:00

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天。

表1 MR日志列表

日志类型

日志文件名

描述

运行日志

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。程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。

表2 日志级别

级别

描述

FATAL

FATAL表示当前事件处理存在严重错误信息。

ERROR

ERROR表示当前事件处理存在错误信息。

WARN

WARN表示当前事件处理存在异常告警信息。

INFO

INFO表示记录系统及各事件正常运行状态信息。

DEBUG

DEBUG表示系统及系统的调试信息。

如果您需要修改日志级别,请执行如下操作:

  1. 进入MapReduce服务参数“全部配置”界面,具体操作请参考修改集群服务配置参数
  2. 左边菜单栏中选择所需修改的角色所对应的日志菜单。
  3. 选择所需修改的日志级别。
  4. 保存配置,在弹出窗口中单击“确定”使配置生效。

    配置完成后立即生效,不需要重启服务。

日志格式

MapReduce日志格式如下所示:

表3 日志格式

日志类型

格式

示例

运行日志

<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)