基于YARN的MapReduce日志几个注意事项

说明:本文提及的所有配置参数,都是基于Hadoop 2.5.0-cdh5.2.0环境。

MapReduce(MR)的调试是一个比较麻烦的问题,除了一些辅助调试工具(如mrunit)外,相信通过日志定位问题仍然是一个比较常见的方法。虽然这种方法比较原始,但是很多时候也能解决大问题......

下面将描述使用MR的日志时,需要注意的一些问题。

1. MR运行过程中,日志将暂存于yarn.nodemanager.log-dirs配置项指定的本地路径下,默认为/var/log/hadoop-yarn/container;

2. MR运行结束后(无论正常结束与否),将持久化日志到yarn.nodemanager.remote-app-log-dir和yarn.nodemanager.remote-app-log-dir-suffix配置项指定的HDFS路径下,前者默认为/tmp/logs,后者默认为logs。HDFS的实际路径为${yarn.nodemanager.remote-app-log-dir}/${user}/${yarn.nodemanager.remote-app-log-dir-suffix}/${application_id},例如:/tmp/logs/root/logs/application_1427333457223_0068;

3. 日志持久化后,会删除本地的暂存日志;

4. 在自定义的SortComparatorClass中定义的日志,将输出在map日志中;在自定义的GroupingComparatorClass中定义的日志,将输出在reduce日志中;在自定义WritableComparable中定义的日志,如果在map或者reduce中使用了该WritableComparable,将输出到对应的map或者reduce日志中;

5. 不建议在MR中,尤其是线上环境下,生成太多的MR日志。否则,将极大的增加磁盘I/O负载。还有,即使MR任务已经完成,但是YARN还未完成从本地到HDFS的日志收集。此时访问日志时,可能还会出现提示"Logs not available for attempt_1427333457223_0072_m_000015_0. Aggregation may not be complete, Check back later or try the nodemanager at sjxt-hd04:8041";

6. MR运行中,Map和shuffle的输出都将落在本地,路径由yarn.nodemanager.local-dirs配置项指定。这个虽然与日志无关,还是放在这里吧......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值