zzuliszhen 寫:
各位大大,我的hadoop是一台master,四台slave,slave的配置是i7 3770 4G 1T,現在我有個疑惑就是:假設現在系統有100個splits待運行,而我的每個slave的配置是5個map slot,5個reduce slot的話,關於任務的調度是不是先給每台slave分配5個任務讓其滿負荷運行,然後如果有mapslot提前完成,處於空閒狀態,就再給其分配任務?另外,slave中的每個mapslot或者reduce slot是不是都對應一個jvm?
1. 5 個 map slot * 4 = 20 個 total map slot
5 個 reduce slot * 4 = 20 個 total reduce slot
100 個 InputSplit -> 100 個 mapper -> 先佔用 20 個 mapper slot
-> 2nd 佔用 20 個 mapper slot
-> 3rd 佔用 20 個 mapper slot
-> 4th 佔用 20 個 mapper slot
-> 5th 佔用 20 個 mapper slot
-> 佔用 1 個 reduce slot (如果沒指定 reduce 個數的話,預設是 1 個)
2. Yes, 1 map slot = 1 JVM , 1 reducer slot = 1 JVM
- Jazz