1 回答

TA貢獻1963條經驗 獲得超6個贊
2.0版本之前可以通過hadoop自帶的web管理界面查看,端口是50030;2.0之后沒有map和reduce
slot的概念,所以也就沒有map數量一說,改成了直接對資源進行管理。
釋義:
map的數量
map的數量通常是由hadoop集群的DFS塊大小確定的,也就是輸入文件的總塊數,正常的map數量的并行規模大致是每一個Node是10~100個,對于CPU消耗較小的作業可以設置Map數量為300個左右,但是由于hadoop沒一個任務在初始化時需要一定的時間,因此比較合理的情況是每個map執行的時間至少超過1分鐘。具體的數據分片是這樣的:
InputFormat在默認情況下會根據hadoop集群的DFS塊大小進行分片,每一個分片會由一個map任務來進行處理,當然用戶還是可以通過參數mapred.min.split.size參數在作業提交客戶端進行自定義設置。還有一個重要參數就是mapred.map.tasks,這個參數設置的map數量僅僅是一個提示,只有當InputFormat
決定了map任務的個數比mapred.map.tasks值小時才起作用。
同樣,Map任務的個數也能通過使用JobConf 的conf.setNumMapTasks(int
num)方法來手動地設置。這個方法能夠用來增加map任務的個數,但是不能設定任務的個數小于Hadoop系統通過分割輸入數據得到的值。
當然,為了提高集群的并發效率,可以設置一個默認的map數量,當用戶的map數量較小或者比本身自動分割的值還小時可以使用一個相對交大的默認值,從而提高整體hadoop集群的效率。
- 1 回答
- 0 關注
- 1340 瀏覽
添加回答
舉報