Hadoop 不会去诊断或修复执行慢的任务,相反它会试图检测任务的运行速度是否比预期慢,并启动另一个等效任务作为备份(备份任务称为推测任务)。这个过程 在Hadoop 中被称为推测执行。
在这篇文章中,我们将讨论推测执行 - Hadoop 中提高效率的一个重要功能,我们有必要去了解 Hadoop 中的推测执行是否总是有帮助的,或者我们需要关闭它时如何禁用。

在 Hadoop 中,MapReduce 将作业分解为任务,并且这些任务并行而不是顺序地运行,从而缩短了总体执行时间。这种执行模式对缓慢的任务很敏感(即使他们的数量很少),因为它们减慢了整个工作的执行速度。
任务执行缓慢的原因可能有各种,包括硬件退化或软件错误配置等,尽管花费的时间超过了预期的时间,但是由于任务仍然有可能成功完成,因此很难检测缓慢的原因。Hadoop 不会尝试诊断和修复运行缓慢的任务,而是尝试检测并为其运行一个备份任务。这在 Hadoop 中被称为推测执行。这些备份任务在 Hadoop 中被称为推测任务。
现在让我们看看 Hadoop 的推测执行过程。
首先,在 Hadoo