我正在運行hadoop作業mapred.reduce.tasks = 100
(只是試驗)。產生的地圖數量爲537,因爲這取決於輸入分割。問題是減速器並行運行的次數不會超過4.即使在映射100%完成之後。有沒有一種方法可以增加減速器的運行數量,因爲CPU使用率是次優的,Reduce速度非常慢。我也設置了mapred.tasktracker.reduce.tasks.maximum = 100
。但這似乎並不影響並行運行的還原器數量。hadoop:reducer數量保持不變4
回答
事實證明,所有需要的是在更改mapred-site.xml之後重新啓動mapred和dfs守護進程。 mapred.tasktracker.reduce.tasks.maximum
的確是要增加Reduce容量的正確參數。
不明白爲什麼hadoop在每次提交作業時都選擇不重新加載mapred-site
。
僅供參考,您只需在編輯mapred-site.xml之後重新啓動mapred即可。重新啓動dfs是沒有必要的。 – sufinawaz
檢查是由分區程序使用的哈希碼;如果您的密鑰只返回4個哈希碼值,Hadoop將只安排4個減速器。
您可能需要實現自己的分區才能獲得更多的reducer,但是如果您的mapper只生成4個鍵,則4是reducer的最大數量。
映射器產生大約200,000個密鑰。典型的映射器輸出將是<「www.xyz.com」,「http://www.xyz.com/page1」>。這是一個
- 1. $ _POST變量保持不變
- 2. 變量保持總數
- 3. 如何保持會話變量不變?
- 4. Actionscript-3:使變量保持不變
- 5. 難以保持我的變量不變
- 6. PHP變量保持
- 7. 保持變量值
- 8. 保持變量值
- 9. 類變量不保持價值
- 10. 會話變量不保持價值
- 11. Node.JS全局變量不保持更新
- 12. Qt向量大小保持不變
- 13. 保持JavaScript數組變量後回
- 14. 變量保持空白PHP
- 15. PHP變量保持重置
- 16. $ _SESSION變量保持爲空
- 17. 變量保持其值
- 18. 成員變量保持類
- 19. 讓變量保持htmlcollection
- 20. 保持分頁變量
- 21. Ç - 如何保持變量
- 22. 保持前導零,並保持變量作爲文本值,而不是數字
- 23. .clone()保持不變?
- 24. Android:Int保持不變
- 25. 如何保持隨機值在會話變量保持不變php
- 26. EF 4:引用非標量變量不受支持
- 27. 方法改變後全局變量保持不變
- 28. awk打印輸出爲變量/數組不保持格式化
- 29. 刪除完成期貨以保持其數量不變
- 30. 如何通過awk將whitspace的數量保持不變?
我認爲數字「4」是集羣的「減少任務容量」。有沒有辦法增加這個? – chethan
你正在使用什麼調度程序? –
默認調度程序 – chethan