Hadoop 少量map/reduce任务执行慢问题
2017-12-23 10:53
387 查看
最近在做报表统计,跑hadoop任务。
之前也跑过map/reduce但是数据量不大,遇到某些map/reduce执行时间特别长的问题。
执行时间长有几种可能性:
1. 单个map/reduce任务处理的任务大。
需要注意每个任务的数据处理量大小不至于偏差太大。可以切割部分大文件。
2. map数量过多, reduce拉取各方数据慢
这种情况,可以在中间加一轮map过程A。
即map -> mapA - > reduce,来减少reduce拉取数据的源头的个数。
3. 遇到了执行慢节点
hadoop 可以执行推测执行。对于某些耗时长的任务,如果集群有多余的slot可以启动额外的任务执行。
如果对于同一个map(或者reduce),有任何一个相同map执行完成。则其他任务会被kill, 该map(或者reduce)执行完成。
这种情况完全避免了,慢节点问题。
推测执行参数: mapred.map.tasks.speculative.execution 和 mapred.reduce.tasks.speculative.execution 默认开启。
map/reduce官方默认参数: https://hadoop.apache.org/docs/r1.0.4/mapred-default.html
之前也跑过map/reduce但是数据量不大,遇到某些map/reduce执行时间特别长的问题。
执行时间长有几种可能性:
1. 单个map/reduce任务处理的任务大。
需要注意每个任务的数据处理量大小不至于偏差太大。可以切割部分大文件。
2. map数量过多, reduce拉取各方数据慢
这种情况,可以在中间加一轮map过程A。
即map -> mapA - > reduce,来减少reduce拉取数据的源头的个数。
3. 遇到了执行慢节点
hadoop 可以执行推测执行。对于某些耗时长的任务,如果集群有多余的slot可以启动额外的任务执行。
如果对于同一个map(或者reduce),有任何一个相同map执行完成。则其他任务会被kill, 该map(或者reduce)执行完成。
这种情况完全避免了,慢节点问题。
推测执行参数: mapred.map.tasks.speculative.execution 和 mapred.reduce.tasks.speculative.execution 默认开启。
map/reduce官方默认参数: https://hadoop.apache.org/docs/r1.0.4/mapred-default.html
相关文章推荐
- 遇到问题---hadoop---reduce执行时又重新map
- 记Hadoop2.5.0线上mapreduce任务执行map任务划分的一次问题解决
- hadoop执行mapreduce任务,能够map,不能reduce,Shuffle阶段报错
- 【hadoop2.2(yarn)】基于yarn成功执行分布式map-reduce,记录问题解决过程。
- 记Hadoop2.5.0线上mapreduce任务执行map任务划分的一次问题解决
- Hadoop跑map-reduce任务时停滞不前的问题
- Hadoop跑map-reduce任务时停滞不前的问题(二)
- Hadoop MapReduce之ReduceTask任务执行(一):远程拷贝map输出
- hadoop的map和reduce任务的执行步骤
- Hadoop MapReduce之ReduceTask任务执行(二):GetMapEventsThread线程
- hadoop 一个Job多个MAP与REDUCE的执行
- TaskTracker执行map或reduce任务的过程(二)
- hadoop中map和reduce的数量设置问题
- hadoop中的一次集群任务执行超时问题查找过程
- Hadoop - Map/Reduce 通过理解org.apache.hadoop.mapreduce.Job类来学习hadoop的执行逻辑
- Hadoop的MapReduce框架中map和reduce的各自任务(能力工场--整理)
- Hadoop MapReduce之ReduceTask任务执行(三):Merger线程分析
- Hadoop MapReduce之ReduceTask任务执行(一)
- 如何在Hadoop中控制Map&Reduce任务的数量
- hadoop中map和reduce的数量设置问题