在MapReduce编程中,日志记录是一个重要的工具,用于监控和调试大规模数据处理作业,MapReduce框架提供了详细的日志记录功能,帮助开发者了解作业执行过程中的详细情况,本文将详细介绍MapReduce日志的查看方法、存储位置以及日志级别设置等内容。
MapReduce日志查看方法
MapReduce日志可以通过多种方式查看,以下是一些常用的方法:
1、使用yarn命令:
通过yarn logs applicationId <application_id>
命令可以查看特定MapReduce作业的日志。
yarn logs applicationId application_1539198654522_1073695 > log.txt
这条命令会将日志输出到log.txt
文件中,方便后续分析。
2、通过Web UI查看:
可以在YARN ResourceManager的Web界面(默认端口为8088)查看作业日志,进入页面后,点击具体的作业链接,然后在页面底部的"logs"部分查看日志。
MapReduce日志存储位置
MapReduce日志主要存储在以下路径:
1、JobhistoryServer:
运行日志存储在/var/log/Bigdata/mapreduce/jobhistory
。
审计日志存储在/var/log/Bigdata/audit/mapreduce/jobhistory
。
2、Container:
每个容器的日志存储在/srv/BigData/hadoop/data1/nm/containerlogs/application_${appid}/container_{$contid}
。
日志归档规则
MapReduce的日志启动了自动压缩归档功能,缺省情况下,当日志大小超过50MB时,会自动压缩,压缩后的日志文件名规则为“<原有日志名><yyyymmdd_hhmmss>.[编号].log.zip”,最多保留最近的100个压缩文件,压缩文件保留个数可以在参数配置界面中配置。
日志级别
MapReduce中提供了多种日志级别,包括FATAL、ERROR、WARN、INFO和DEBUG,日志级别优先级从高到低分别是FATAL、ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。
级别 | 描述 |
FATAL | 当前事件处理存在严重错误信息。 |
ERROR | 当前事件处理存在错误信息。 |
WARN | 当前事件处理存在异常告警信息。 |
INFO | 记录系统及各事件正常运行状态信息。 |
DEBUG | 系统及系统的调试信息。 |
日志格式
MapReduce日志格式如下所示:
| 日志类型 | 格式 | 示例 |
| | | |
| 运行日志 |<yyyyMMdd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>
|20200126 14:18:59,109 | INFO | main | Client environment:java.compiler=<NA> | org.apache.zookeeper.Environment.logEnv(Environment.java:100)
|
| 审计日志 |<yyyyMMdd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>
|20200126 14:24:43,605 | INFO | mainEventThread | USER=omm OPERATION=refreshAdminAcls TARGET=AdminService RESULT=SUCCESS | org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger$LogLevel$6.printLog(RMAuditLogger.java:91)
|
常见问题解答
如何修改MapReduce作业的日志级别?
答:你可以通过Cloudera Manager或者直接修改配置文件来设置日志级别,在mapredsite.xml
中添加以下配置:
<property> <name>mapreduce.reduce.log.level</name> <value>DEBUG</value> </property> <property> <name>mapreduce.map.log.level</name> <value>DEBUG</value> </property> <property> <name>yarn.app.mapreduce.am.log.level</name> <value>DEBUG</value> </property>
保存配置后重新部署Yarn的Gateway客户端即可。
MapReduce日志过大导致的问题如何解决?
答:MapReduce日志启动了自动压缩归档功能,当日志大小超过50MB时,会自动压缩,压缩后的日志文件名规则为“<原有日志名><yyyymmdd_hhmmss>.[编号].log.zip”,最多保留最近的100个压缩文件,压缩文件保留个数可以在参数配置界面中配置,可以通过调整日志级别来减少日志量,例如将日志级别设置为WARN或ERROR。
通过以上内容,相信你对MapReduce日志有了更深入的了解,合理利用这些工具和方法,可以帮助你更好地监控和调试MapReduce作业,提高数据处理的效率和可靠性。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1207076.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复