seasky 寫:
各位好,我是hadoop初學者,目前在運行MapReduce/Mahout Kmeans時,有個問題想要請教:
Masters: M1
Slaves: S2, S3, S4
若S2, S3, S4都是多核心,當job散出去給NameNode時,我要如何控制NameNode的CPU使用個數?
請問這是可以在MapReduce的code裡面去修改的嗎?
謝謝!
Java Virtual Machine (JVM) 只支援一個 Java Process 最多使用單一核心,所以無法控制 NameNode 使用的 CPU 個數。
但可調整 TaskTracker 的 mapper slot 與 reducer slot 為 CPU 個數的 0.5 ~ 2 倍,好讓 MapReduce Job 可以善用 CPU 資源。
YDN 有一份年代久遠的參考,不過 Hadoop Operations 書裡也是這麼建議。
https://developer.yahoo.com/hadoop/tutorial/module7.html#config-large改 mapred-site.xml 的
PS. Job 跟 NameNode (檔案系統 HDFS)無關,跟 JobTracker (MRv1) / ResourceManager (YARN, MRv2) 才有關。
- Jazz