storm對topology的分配調度

根據官網介紹,storm內置了4種調度器

分別是: DefaultScheduler, IsolationScheduler, MultitenantScheduler, ResourceAwareScheduler.

下面分別進行介紹,

DefaultScheduler是storm默認調度器,默認時,topology內的組件將隨機分配至已有資源上。

IsolationScheduler

IsolationScheduler為資源隔離調度器,這個調度器是為了使得topology對服務器節點進行獨占。使得不同的topology發布時,占用不同的服務器資源,彼此形成物理隔離。

使用如下:

編輯nimbus所在服務器下的storm.yaml,添加如下配置:


表明,我發布名字為zc1的topology時,此拓撲將獨占兩臺服務器,zc2的topology將獨占一臺服務器。

之前我一共配備了3臺服務器作為從節點。發布后效果如下:


由圖可見,雖然我的服務資源里還有worker資源,但是由于zc1,zc2已經獨占了3臺服務器,所以我的otherTopology無法分配到計算資源。

MultitenantScheduler

官網并沒有對此調度器進行說明,只是留下了這個類在github上的位置,我們通過閱讀此類的源碼,也可以分析出此類的調度規則。




根據代碼可知,這種調度模式會為每個topology發布者構造一個自己專屬的隔離資源池,之后會通過遍歷topology集,通過為資源池分配topology關聯來分配節點。

驗證:



由圖可見,root分配第三個topology時,已經無法分配。(注:storm這個功能不太穩定,不建議使用)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • YarnYarn產生背景:Yarn直接來自于MR1.0MR1.0 問題:采用的是master slave結構,ma...
    時待吾閱讀 5,809評論 2 23
  • 目錄 場景假設 調優步驟和方法 Storm 的部分特性 Storm 并行度 Storm 消息機制 Storm UI...
    mtide閱讀 17,179評論 30 60
  • Strom集群結構是有一個主節點(nimbus)和多個工作節點(supervisor)組成的主從結構,主節點通過配...
    看山遠兮閱讀 2,901評論 0 7
  • 啊!誰? 姐姐你能抱我一下嗎? 啪! 自那次相遇后,這個小藥童每天都來山里找我。 ...
    子若沒有雅木閱讀 649評論 0 0
  • 溫溫柔柔 低頭斂眉 眸間仿佛含了一池春水 越看你這樣 我越是想不管不顧的沖過去 鬧的你七上八下 卻也只能無可奈何的...
    賣瓜的閱讀 101評論 0 0