MR推测执行
2015-09-28 16:31
183 查看
mapred.map.tasks.speculative.execution boolean
true 如果任务运行变慢,该属性决定了是否要启动一个map任务的另外一个实力
mapred.reduce.tasks.speculative.execution
boolean true
如果任务运行变慢,该属性决定这是否需要启动一个reduce任务
yarn.app.mapreduce.am.job.speculator.class
class org.apache.hadoop.mapreduce.v2.app.speculate.default.speculator
speculator类实现推测执行策略
yarn.app.mapreduce.am.job.estimator.class
class org.apache.hadoop.mapreduce.v2.app.speculate.LegacyTaskRuntimeEstimator
speculator实力使用TaskRuntime Estimator的实现,提供任务运行时间的估计值(只针对MR)
为什么会想到关闭推测执行呢?
推测执行的目的是减少作业执行时间,但这是以集群效率为代价的, 在一个繁忙的集群中, 推测执行会减少整体的吞吐量,因为冗余的任务执行时会减少作业的执行时间,因此一些集群管理员倾向于在集群上关闭这个选项, 而让用户根据个别的作业需要而开启该功能, hadoop的老版本更加如此
对于reduce任务,关闭推测执行是有益的, 因为任意重复的reduce任务都是必须要去的map输出作为最先的任务, 这坑农会大幅度的增加集群上的网络传输。
true 如果任务运行变慢,该属性决定了是否要启动一个map任务的另外一个实力
mapred.reduce.tasks.speculative.execution
boolean true
如果任务运行变慢,该属性决定这是否需要启动一个reduce任务
yarn.app.mapreduce.am.job.speculator.class
class org.apache.hadoop.mapreduce.v2.app.speculate.default.speculator
speculator类实现推测执行策略
yarn.app.mapreduce.am.job.estimator.class
class org.apache.hadoop.mapreduce.v2.app.speculate.LegacyTaskRuntimeEstimator
speculator实力使用TaskRuntime Estimator的实现,提供任务运行时间的估计值(只针对MR)
为什么会想到关闭推测执行呢?
推测执行的目的是减少作业执行时间,但这是以集群效率为代价的, 在一个繁忙的集群中, 推测执行会减少整体的吞吐量,因为冗余的任务执行时会减少作业的执行时间,因此一些集群管理员倾向于在集群上关闭这个选项, 而让用户根据个别的作业需要而开启该功能, hadoop的老版本更加如此
对于reduce任务,关闭推测执行是有益的, 因为任意重复的reduce任务都是必须要去的map输出作为最先的任务, 这坑农会大幅度的增加集群上的网络传输。
相关文章推荐
- 用iOSOpenDev在Xcode里配置越狱开发环境
- 数据结构和算法学习(3)-简单排序
- MySQL的优化技术总结
- 信息安全系统设计基础第二周学习总结(二)
- 10分钟让你完全理解观察者模式 版本二
- VS2010 链接错误
- Myeclipse导入项目提示已存在(Some projects cannot be imported because they already exist in the workspace)
- Swift学习-闭包(七)
- Java基础面试十道题(二)
- 面试中的有关编程题
- iOS开发UI篇—程序启动原理和UIApplication
- 浏览器对象
- 读写锁ReentrantReadWriteLock
- eclipse+Python搭建
- Git 学习第二天
- ios开发日记-12 sdwebImage内存泄露
- 写让别人能读懂的代码
- JS动态日期时间的获取方法
- 内部函数和外部函数
- cocos2d-x检测碰撞,并显示标记