2010-06-14 109 views
1

我有hadoop工作的任务,预计将运行时间显着长(几分钟)。然而,hadoop过早开始投机执行。我不想完全抛弃投机性执行,但我希望增加hadoop在考虑投机执行的工作之前等待的时间。有没有一个配置选项来控制这个超时?有没有办法在Hadoop中配置推测执行超时?

谢谢

回答

0

我不相信推测执行时间目前是可配置的。另一方面,可能不需要调整它。推测性执行意味着将您从运行缓慢的任务中解救出来(通常是由于硬件性能下降)。如果您有可用的群集资源,以便spec exec正在踢,那么让它这样做有什么害处?请注意,分钟数不被视为“重要”,对于中等或更大规模的作业而言,分钟数更高。

还值得注意的是,虽然mapper spec exec几乎总是很好,系统开销很低,但reducer spec exec可能会受到伤害,可能应该禁用。其基本原理是,如果映射程序进展缓慢,并且有可用资源(数据是本地数据),则不存在共享开销。如果减速机运行速度很慢,启动同一项任务的另一次尝试将使网络负载加倍 - 通常是减速机执行中最痛苦的部分。如果网络是造成减速器“慢”的原因,则开始第二次尝试只会伤害两次尝试。

如果您确实有用于调整规格执行时间的用例,则可能需要在http://issues.apache.org处提交jira。

希望这会有所帮助。

+0

这有助于。我不相信我的具体用例符合Hadoop的一般理念,因此可能不值得提交jira。 我最终在我的方案中禁用了投机执行。 – 2010-07-13 16:21:33

相关问题