Taiwan Hadoop Forum
http://forum.hadoop.tw/

動態增減Slot數
http://forum.hadoop.tw/viewtopic.php?f=7&t=38269
1 頁 (共 1 頁)

發表人:  eric7311 [ 2015-04-24, 18:14 ]
文章主題 :  動態增減Slot數

我想依CPU的使用率,動態調整Slot數,不知道是否可行??
最近我有先看Jobtracker.java跟Tasktracker.java的程式碼,但不確定要從哪修改起
目前我是試著修改TaskTrackerStatus.java裡的函式getMaxMapSlots(),直接用eclipse進行修改存檔,
但是跑的情況跟沒修改時的是一樣的,不知道是錯在哪?
謝謝!!

發表人:  jazz [ 2015-04-25, 12:03 ]
文章主題 :  Re: 動態增減Slot數

eric7311 寫:
我想依CPU的使用率,動態調整Slot數,不知道是否可行??
最近我有先看Jobtracker.java跟Tasktracker.java的程式碼,但不確定要從哪修改起
目前我是試著修改TaskTrackerStatus.java裡的函式getMaxMapSlots(),直接用eclipse進行修改存檔,
但是跑的情況跟沒修改時的是一樣的,不知道是錯在哪?
謝謝!!


先前有想過這個問題,不過沒有去找實作的方式。
目前修改 slot 數都必須重新啟動 JobTracker。
我大致上覺得流程會是讓 JobTracker 重新讀取 mapper/reducer solts 個數的值,
接著是讓排程器重新初始化。

這麼做感覺上會有一個潛在的風險,實務營運 Hadoop 叢集時,會發現限制不單純來自 Slot 數,還有記憶體剩下多少可用空間。
即使可以做到動態調整 Slot,上限會來自 Child 的 JVM HEAP 參數。
over commit 的結果,反而會導致 SWAP 而讓整體效能大幅下滑。
屆時 CPU 的 loading 有很高的比例會處於 IOWait 而不是真正花在運算。

- Jazz

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/