storm_集群調(diào)度原理

<h4>前言:</h4>
因為前面講個那3個demo都是local topology運行迷守,所以對storm集群狀態(tài)下的工作情況沒有介紹太多族奢,寫面我們來詳細描述一下堤如。
<h4>一宫补、集群狀態(tài)管理及工作調(diào)度</h4>
????storm的集群表面上看和hadoop的集群非常像祈惶。但是在Hadoop上面你運行的是MapReduce的Job, 而在Storm上面你運行的是Topology米苹。它們是非常不一樣的一個關(guān)鍵的區(qū)別是: 一個MapReduce Job最終會結(jié)束稚字, 而一個Topology運永遠運行(除非你顯式的殺掉他)雕崩。
????在storm的集群里面有兩種節(jié)點: 控制節(jié)點(master node)和工作節(jié)點(worker node)秘噪±晖蹋控制節(jié)點上面運行一個后臺程序:Nimbus, 它的作用類似Hadoop里面的JobTracker缆娃。Nimbus負責在集群里面分布代碼捷绒,分配工作給機器, 并且監(jiān)控狀態(tài)贯要。每一個工作節(jié)點上面運行一個叫做Supervisor的應用(類似 TaskTracker)暖侨。Supervisor會監(jiān)聽分配給它那臺機器的工作,根據(jù)需要 啟動/關(guān)閉工作進程崇渗。每一個工作進程執(zhí)行一個Topology(類似 Job)的一個子集字逗;一個運行的Topology由運行在很多機器上的很多工作進程 Worker(類似 Child)組成京郑。
<pre>

20150722183100878.png

</pre>
<b>集群狀態(tài)管理:</b>
集群的狀態(tài)是通過一個storm-cluster-state的對象來描述的。
其提供了許多功能接口葫掉,比如:
1些举、zookeeper相關(guān)的基本操作,如create-node俭厚、set-data户魏、remove-node、get-children等.
2挪挤、心跳接口叼丑,如supervisor-heartbeat!、worker-heatbeat!等.
3扛门、心跳信息鸠信,如executors-beats等.
4、啟動论寨、更新星立、停止storm,如update-storm!等.

<b>任務調(diào)度:</b>
1葬凳、zookeeper是整個集群狀態(tài)同步绰垂、協(xié)調(diào)的核心組件。
2沮明、supervisor辕坝、worker、executor等組件會定期向zookeeper寫心跳信息
3荐健、當topology出現(xiàn)錯誤酱畅、或者有新的topology提交到集群時,topologies信息會同步到zookeeper江场。
4纺酸、nimbus會定期監(jiān)視zookeeper上的任務分配信息assignments,并將重新分配的計劃同步到zookeeper址否。
所以餐蔬,nimbus會根據(jù)心跳、topologies信息及已分配的任務信息為依據(jù)佑附,來重新分配任務樊诺。

<h4>二、supervisor的工作原理:</h4>
<pre>


捕獲.PNG

</pre>
1音同、worker是一個進程.
2词爬、executor是一個線程,是運行tasks的物理容器.
3权均、task是對spout/bolt/acker等任務的邏輯抽象.
supervisor會定時從zookeeper獲取拓補信息topologies顿膨、任務分配信息assignments及各類心跳信息锅锨,以此為依據(jù)進行任務分配。在supervisor同步時恋沃,會根據(jù)新的任務分配情況來啟動新的worker或者關(guān)閉舊的worker并進行負載均衡必搞。worker通過定期的更新connections信息,來獲知其應該通訊的其它worker囊咏。worker啟動時恕洲,會根據(jù)其分配到的任務啟動一個或多個executor線程。這些線程僅會處理唯一的topology匆笤。 如果有新的tolopogy被提交到集群研侣,nimbus會重新分配任務。executor線程負責處理多個spouts或者多個bolts的邏輯炮捧,這些spouts或者bolts,也稱為tasks惦银。具體有多少個worker咆课,多少個executor,每個executor負責多少個task扯俱,是由配置和指定的parallelism-hint共同決定的书蚪,但這個值并不一定等于實際運行中的數(shù)目。如果計算出的總的executors超過了nimbus的限制迅栅,此topology將不會得到執(zhí)行殊校。

<h4>三、topology提交過程</h4>

20150722204129345.png

1.非本地模式下读存,客戶端通過thrift調(diào)用nimbus接口为流,來上傳代碼到nimbus并觸發(fā)提交操作.
2.nimbus進行任務分配,并將信息同步到zookeeper.
3.supervisor定期獲取任務分配信息让簿,如果topology代碼缺失敬察,會從nimbus下載代碼,并根據(jù)任務分配信息尔当,同步worker.
4.worker根據(jù)分配的tasks信息莲祸,啟動多個executor線程,同時實例化spout椭迎、bolt锐帜、acker等組件,此時畜号,等待所有connections(worker和其它機器通訊的網(wǎng)絡連接)啟動完畢缴阎,此storm-cluster即進入工作狀態(tài)。
5.除非顯示調(diào)用kill topology弄兜,否則spout药蜻、bolt等組件會一直運行瓷式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市语泽,隨后出現(xiàn)的幾起案子贸典,更是在濱河造成了極大的恐慌,老刑警劉巖踱卵,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廊驼,死亡現(xiàn)場離奇詭異,居然都是意外死亡惋砂,警方通過查閱死者的電腦和手機妒挎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來西饵,“玉大人酝掩,你說我怎么就攤上這事【烊幔” “怎么了期虾?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長驯嘱。 經(jīng)常有香客問我镶苞,道長,這世上最難降的妖魔是什么鞠评? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任茂蚓,我火速辦了婚禮,結(jié)果婚禮上剃幌,老公的妹妹穿的比我還像新娘聋涨。我一直安慰自己,他們只是感情好锥忿,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布牛郑。 她就那樣靜靜地躺著,像睡著了一般敬鬓。 火紅的嫁衣襯著肌膚如雪淹朋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天钉答,我揣著相機與錄音础芍,去河邊找鬼。 笑死数尿,一個胖子當著我的面吹牛仑性,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播右蹦,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼诊杆,長吁一口氣:“原來是場噩夢啊……” “哼歼捐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起晨汹,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤豹储,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后淘这,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剥扣,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年铝穷,在試婚紗的時候發(fā)現(xiàn)自己被綠了钠怯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡曙聂,死狀恐怖晦炊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宁脊,我是刑警寧澤刽锤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站朦佩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏庐氮。R本人自食惡果不足惜语稠,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弄砍。 院中可真熱鬧仙畦,春花似錦、人聲如沸音婶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衣式。三九已至寸士,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碴卧,已是汗流浹背弱卡。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留住册,地道東北人婶博。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像荧飞,于是被迫代替她去往敵國和親凡人。 傳聞我的和親對象是個殘疾皇子名党,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 目錄 場景假設 調(diào)優(yōu)步驟和方法 Storm 的部分特性 Storm 并行度 Storm 消息機制 Storm UI...
    mtide閱讀 17,060評論 30 60
  • 這是一個JStorm使用教程,不包含環(huán)境搭建教程挠轴,直接在公司現(xiàn)有集群上跑任務传睹,關(guān)于JStorm集群環(huán)境搭建,后續(xù)研...
    Coselding閱讀 6,306評論 1 9
  • 原文鏈接Storm Tutorial 本人原創(chuàng)翻譯忠荞,轉(zhuǎn)載請注明出處 這個教程內(nèi)容包含如何創(chuàng)建topologies及...
    quiterr閱讀 1,610評論 0 6
  • cinderella熊閱讀 84評論 0 0
  • 第三章123 VS me 我們依然是普通朋友蒋歌,她在網(wǎng)絡上看到了這個城市將要舉辦國際馬拉松的比賽,打電話問我參不參加...
    林嘉瑞閱讀 394評論 2 5