我有hadoop工作的任務,預計將運行時間顯着長(幾分鐘)。然而,hadoop過早開始投機執行。我不想完全拋棄投機性執行,但我希望增加hadoop在考慮投機執行的工作之前等待的時間。有沒有一個配置選項來控制這個超時?有沒有辦法在Hadoop中配置推測執行超時?
謝謝
我有hadoop工作的任務,預計將運行時間顯着長(幾分鐘)。然而,hadoop過早開始投機執行。我不想完全拋棄投機性執行,但我希望增加hadoop在考慮投機執行的工作之前等待的時間。有沒有一個配置選項來控制這個超時?有沒有辦法在Hadoop中配置推測執行超時?
謝謝
我不相信推測執行時間目前是可配置的。另一方面,可能不需要調整它。推測性執行意味着將您從運行緩慢的任務中解救出來(通常是由於硬件性能下降)。如果您有可用的羣集資源,以便spec exec正在踢,那麼讓它這樣做有什麼害處?請注意,分鐘數不被視爲「重要」,對於中等或更大規模的作業而言,分鐘數更高。
還值得注意的是,雖然mapper spec exec幾乎總是很好,系統開銷很低,但reducer spec exec可能會受到傷害,可能應該禁用。其基本原理是,如果映射程序進展緩慢,並且有可用資源(數據是本地數據),則不存在共享開銷。如果減速機運行速度很慢,啓動同一項任務的另一次嘗試將使網絡負載加倍 - 通常是減速機執行中最痛苦的部分。如果網絡是造成減速器「慢」的原因,則開始第二次嘗試只會傷害兩次嘗試。
如果您確實有用於調整規格執行時間的用例,則可能需要在http://issues.apache.org處提交jira。
希望這會有所幫助。
這有助於。我不相信我的具體用例符合Hadoop的一般理念,因此可能不值得提交jira。 我最終在我的方案中禁用了投機執行。 – 2010-07-13 16:21:33