
# MapReduce日志介绍
#### 日志描述
**日志默认存储路径：**
- JobhistoryServer："/var/log/Bigdata/mapreduce/jobhistory"（运行日志），"/var/log/Bigdata/audit/mapreduce/jobhistory"（审计日志）
- Container："/srv/BigData/hadoop/data1/nm/containerlogs/application_${appid}/container_{$contid}"
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
运行中的任务日志存储在以上路径中，运行结束后会基于YARN的配置是否汇聚到HDFS目录中，详情请参见[Yarn常用配置参数](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0852.html)。
**日志归档规则**：
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天。
表1MR日志列表 
| 日志类型 | 日志文件名                                                 | 描述                 |
|:---|:---|:---|
| 运行日志 | 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服务参数"全部配置"界面，具体操作请参考[修改集群服务配置参数](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2125.html)。
2. 左边菜单栏中选择所需修改的角色所对应的日志菜单。
3. 选择所需修改的日志级别。
4. 保存配置，在弹出窗口中单击"确定"使配置生效。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   配置完成后立即生效，不需要重启服务。
   
   
 
#### 日志格式
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) |
   
