Taiwan Hadoop Forum http://forum.hadoop.tw/ |
|
mapper數量和wordcount例子分析 http://forum.hadoop.tw/viewtopic.php?f=4&t=38337 |
第 1 頁 (共 1 頁) |
發表人: | gary821018 [ 2016-10-05, 16:50 ] | |||
文章主題 : | mapper數量和wordcount例子分析 | |||
大家好,小弟這陣子剛開始接觸hadoop,有些地方感覺觀念不大清楚,還望大家能夠幫個忙,謝謝。 1.關於在yarn底下是不是沒有去設定mapper的數量? 自己有找到一些設定mapper數量的指令,像是mapred.tasktracker.map.tasks.maximum mapred.tasktracker.reduce.tasks.maximum 不過我目前的理解是在yarn下tasktracker已經被node manager所取代,這樣的話以上設定應該是無法生效的? 我目前的理解是在yarn下mapper跟reducer是無法由使用者設定mapper跟reducer個數 ,是由node manager 去根據當下的資源動態決定的, 不知道以上理解是否有誤? 2.有在網路上看到看到關於mapper可以使用的最大數量是core數量乘上2,自己做了一下實驗,環境是1 namenode , 1 datanode,datanode這邊是8核心,每個核心有2個thread,再扣掉2個給datanode跟node manager應該還有14個供mapper使用 自己是先上傳了6個文字檔做wordcount測試,發現一開始的input split數量是18,但還是可以跑完wordcount,想請問這樣是代表說一次最多14個mapper,剩下的4個mapper在排隊queue 等前面mapper工作有做完後就補上嗎? 3.接續第二個問題,後來自己有試過一樣的測資但是用2個datanode去跑,一樣都是8核,2thread,發現2 datanode是有比較快的,但是在8088頁面為何只有顯示node02,但是在jobhistory 頁面上點log看裡面的Message看起來是node01,node02都有被使用,然後點進去看18個job的detail也發現有些是node01,node02,這樣應該是代表兩台都有被分配到map的工作吧? 因為我看start time都是相同的,猜測是有平行處理;所以想請問800頁面上只有顯示node02的意思為何? 還是說自己真的只有在node02上run?
|
發表人: | jazz [ 2016-10-10, 01:22 ] |
文章主題 : | Re: mapper數量和wordcount例子分析 |
gary821018 寫: 大家好,小弟這陣子剛開始接觸hadoop,有些地方感覺觀念不大清楚,還望大家能夠幫個忙,謝謝。 1.關於在yarn底下是不是沒有去設定mapper的數量? 自己有找到一些設定mapper數量的指令,像是mapred.tasktracker.map.tasks.maximum mapred.tasktracker.reduce.tasks.maximum 不過我目前的理解是在yarn下tasktracker已經被node manager所取代,這樣的話以上設定應該是無法生效的? 我目前的理解是在yarn下mapper跟reducer是無法由使用者設定mapper跟reducer個數 ,是由node manager 去根據當下的資源動態決定的, 不知道以上理解是否有誤? 這是常見的 FAQ,基本上 mapper 個數由 block 個數決定(使用 Local File System 或 HDFS ,會有不同的結果) reducer 個數則可於程式碼中使用 setNumReduceTasks() 指定 請參考 http://trac.3du.me/cloud/wiki/III140705/Lab18 gary821018 寫: 2.有在網路上看到看到關於mapper可以使用的最大數量是core數量乘上2,自己做了一下實驗,環境是1 namenode , 1 datanode,datanode這邊是8核心,每個核心有2個thread,再扣掉2個給datanode跟node manager應該還有14個供mapper使用 自己是先上傳了6個文字檔做wordcount測試,發現一開始的input split數量是18,但還是可以跑完wordcount,想請問這樣是代表說一次最多14個mapper,剩下的4個mapper在排隊queue 等前面mapper工作有做完後就補上嗎? 是的,可以觀察執行過程中的 ResourceManager Web UI。 gary821018 寫: 3.接續第二個問題,後來自己有試過一樣的測資但是用2個datanode去跑,一樣都是8核,2thread,發現2 datanode是有比較快的,但是在8088頁面為何只有顯示node02,但是在jobhistory 頁面上點log看裡面的Message看起來是node01,node02都有被使用,然後點進去看18個job的detail也發現有些是node01,node02,這樣應該是代表兩台都有被分配到map的工作吧? 因為我看start time都是相同的,猜測是有平行處理;所以想請問800頁面上只有顯示node02的意思為何? 還是說自己真的只有在node02上run? ![]() node02 代表 Resource Manager 指派 node02 的 NodeManager 為 Application Master 可以想成請 node02 當 MapReduce v1 的 JobTracker,然後 node01 與 node02 又分別擔任 TaskTracker 的角色。 - Jazz |
發表人: | gary821018 [ 2016-10-12, 17:19 ] |
文章主題 : | Re: mapper數量和wordcount例子分析 |
謝謝 Jazz 的解釋!!! 解答了我不少的疑惑, 非常感謝! |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |