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 |
实例启停前的环境信息日志。 |
|
threadDump-<process_name>-<thread pid>-<timestamp>.log |
MR服务停止时dump信息的日志。 |
|
审计日志 |
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) |