hadoop3.1.1 优化之slowstart(源码分析)

本文探讨的参数是:mapreduce.job.reduce.slowstart.completedmaps

关于此参数的介绍

hadoop 3.1.1中mapred-default.xml中关于此参数的介绍如下:

mapreduce.job.reduce.slowstart.completedmaps

0.05

(默认值)

Fraction of the number of maps in the job which should be complete before reduces are scheduled for the job.(介绍)

默认配置的表达的意思是: 0.05%的map task结束后可以开始为reduce task申请资源。

配置的参数如果设置的过小,可能会让reduce task和map task争抢资源(若reduce占用过多资源,让map等待时间过长,map会抢占reduce),且会造成reduce空转。

若配置的参数过大,就丧失了让reduce和map并行,来降低job工作时间的目标。

因此slowstart参数该如何设计是一个学问。

在别人的博客里发现了以下的信息(33%的配比是如何推断得知我还不清楚:),以后搞懂了补上)

源码分析

接下来进入源码分析阶段。

1、初始化,在RMContainerAllocator.java中的serviceInit函数里可看到reduceSlowStart的初始化过程,如果配置文件里对其进行了更改,就用更改过的参数值;如果没有,则是使用的默认值0.05。

2、RMC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值