gpt4 book ai didi

hadoop - Hadoop 中的推测任务

转载 作者:可可西里 更新时间:2023-11-01 16:07:46 24 4
gpt4 key购买 nike

hadoop 中的新任务总是比推测任务具有更高的优先级。

谁能告诉我如何以及在何处更改此优先级?

最佳答案

Hadoop Speculator 使用Estimator 来估计任务的运行时间。

控制推测执行的主要配置参数之一是:mapreduce.job.speculative.slowtaskthreshold(在 mapred-site.xml 中定义,默认设置为 1.0).

这个参数的定义说:

The number of standard deviations by which a task's ave progress-rates must be lower than the average of all running tasks' for the task to be considered too slow.

这意味着,将每个任务的进度率与作业中所有其他任务的“平均进度率”进行比较,并乘以 mapreduce.job.speculative.slowtaskthreshold 的值。

让我用例子来解释一下:

假设有 5 个 map task 。平均进步率为70%。mapreduce.job.speculative.slowtaskthreshold 的值设置为 1.0。

让我们假设 1 个 map task 运行缓慢且其进度为 50%。因为 (70 x mapreduce.job.speculative.slowtaskthreshold) = (70 x 1.0) = 70%。因此,50% 小于 70%,因此这个 map 任务将被安排为推测执行(假设 mapreduce.map.speculative 设置为 true)。

因此,我想要启用积极的推测,您需要将此 mapreduce.job.speculative.slowtaskthreshold 设置为更高的值。

但是,即使在启用积极推测之后,您也无法在原始任务启动后立即启动冗余任务。因为推测执行只有在一些任务已经开始并且当前任务落后时才会出现(Estimator 会将此输入提供给 Speculator) .因此,也许您必须更改 Speculator 类 (org.apache.hadoop.mapreduce.v2.app.speculate.Speculator) 才能实现它。

但是,建议不要激进地使用它,因为它可能会饿死其他作业(如果同一作业由于推测执行而占用太多 map/reduce 插槽)。

请查看 QuBole 的这篇文章:http://docs.qubole.com/en/latest/user-guide/hadoop/hadoop1/speculation.html

关于hadoop - Hadoop 中的推测任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com