2011-02-07 52 views
1

我試過前面加上我的查詢有:限制hadoop配置單元映射作業的最大減速器的能力?

set mapred.running.reduce.limit = 25; 

而且

set hive.exec.reducers.max = 35; 

最後一個被判入獄與530級減速器工作到35 ......這讓我覺得這是要嘗試和鞋拔530級減速器的工作價值爲35

現在給

set mapred.tasktracker.reduce.tasks.maximum = 3; 

嘗試查看這個數字是否是每個節點的最大值(以前在具有70個潛在減速器的羣集中是7)。

更新:

set mapred.tasktracker.reduce.tasks.maximum = 3; 

都沒有效果,是值得一試,但。

回答

1

不完全是問題的解決方案,但可能是一個很好的折衷。

set hive.exec.reducers.max = 45; 

對於具有400+個減速器的厄運的超級查詢,這將最昂貴的配置單元任務減少到35個減速器總數。我的集羣目前只有10個節點,每個節點支持7個減速器......所以實際上只有70個減速器可以一次運行。通過將工作量降至70以下,我發現速度略有提高,而最終產品沒有任何明顯變化。在生產環境中進行測試,找出這裏究竟發生了什麼。在此期間,這是一個很好的妥協方案。