日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Storm組件有哪些

這篇文章主要講解了“Storm組件有哪些”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Storm組件有哪些”吧!

創(chuàng)新互聯(lián)公司十多年專注成都高端網(wǎng)站建設按需求定制網(wǎng)站服務,為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設計,成都網(wǎng)站設計服務;創(chuàng)新互聯(lián)公司服務內(nèi)容包含成都網(wǎng)站建設,微信小程序定制開發(fā),軟件開發(fā),網(wǎng)絡營銷推廣,網(wǎng)絡運營服務及企業(yè)形象設計;創(chuàng)新互聯(lián)公司擁有眾多專業(yè)的高端網(wǎng)站制作開發(fā)團隊,資深的高端網(wǎng)頁設計團隊及經(jīng)驗豐富的架構師高端網(wǎng)站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡營銷方案,解決網(wǎng)絡營銷疑問。

Storm 組件

     Storm集群表面上與hadoop集群類似。在hadoop集群上,你可以跑 mapreduce job,而在storm集群上你可以跑各種topology。但其實 mapreduce job 和 topology,他們是非常不一樣的——其中最主要的差別就是,一個Mapreduce job 可以運行結束,然后一個topology會一直處理信息直到你kill它。

      在一個Storm集群有兩種節(jié)點:master node 和 worker nodes。Master node 運行著一個守護進程,叫做"Nimbus",這非常類似于hadoop 1.0時代的 JobTracker。Nimbus負責分發(fā)code,分配task給node,和監(jiān)控。

      每個worker node運行著一個守護進程,叫做"Supervisor"。Supervisor監(jiān)聽那些分配給當前node的任務,啟動和終止worker  processes(worker process處理那些Nimbus分配給它需要處理的任務)。而每個worker process執(zhí)行一部分的topolgy;一個執(zhí)行中的topology包含了很多worker processes執(zhí)行在集群中。

    Storm組件有哪些

      Nimbus和 Supervisors之間的協(xié)作是通過Zookeeper集群完成的。另外,Nimbus 和 Supervisor是 快速失敗 和 無狀態(tài)化(TODO understand),而所有的狀態(tài)是保存在Zookeeper或者本地磁盤。換而言之,你可以用 kill -9 來殺死 Nimbus 或者 Supervisors,而它們會馬上變回好像什么都沒發(fā)生過一樣。這些設計致使Storm 集群非常穩(wěn)定。(但愿如此,馬上要用到項目中了......)

Topology

     在Storm上做實時計算,你需要創(chuàng)建 "Topology"。在Topology中的每個node涵蓋 邏輯處理, nodes間數(shù)據(jù)傳遞依賴等等。

        執(zhí)行一個Topology非常簡單。首先, 你需要打包你全部的代碼和依賴到一個jar,然后,你可以執(zhí)行接下來的命令:

storm jar all-my-code.jar backtype.storm.MyTopology arg1 arg2

       這命令會執(zhí)行類backtype.storm.MyTopology,并帶入外部參數(shù) arg1和arg2(給main函數(shù)用)。而這個類的main方法會定義topology,并提交給Nimbus。Storm jar會負責連接Nimbus,并上傳這個jar。

      由于topology的結構定義是Thrift(facebook 寫的一個夸語言調(diào)用框架)結構,同時Nimbus也是也是一個Thrift服務,所以你能創(chuàng)建和提交任何語言寫的topology。

Streams

    在Storm里最抽象的是 "stream"。Stream是一個無邊界且序列化的tuples。Storm提供了原語來把一個stream轉化成另一個新的stream,且這種轉化是分布式的,可靠的。下圖就是Stream的寫照。

Storm組件有哪些

     Storm提供的這種原語是 spouts 和 bolts。Spouts 和 bolts 都有接口,你需要實現(xiàn)來執(zhí)行你的應用邏輯。

     Spout是stream的來源。舉個栗子,一個spout可能讀取tuples從Kestrel隊列中,并且發(fā)射這些數(shù)據(jù)以流的形式。或者說,一個spout會連接Twitter的API 來發(fā)射數(shù)據(jù)流。(對于Storm來說,Spout就是源數(shù)據(jù)的抓取者,負責為整個流式計算提供源源不斷的數(shù)據(jù)流。)

     Bolt則是stream的消費者,做一些數(shù)據(jù)處理,同時也可能發(fā)射新的數(shù)據(jù)流?;旌蠌碗s的流轉化,需要多個步驟,多個bolts。Bolts能做任何事情,像執(zhí)行functions,過濾tuples,數(shù)據(jù)流聚合,數(shù)據(jù)流join,與數(shù)據(jù)庫間的協(xié)作 等等。(對于Storm來說,Bolt是數(shù)據(jù)流的處理者,可以有多個,負責真正業(yè)務邏輯上的聚合計算等等。)

     Spouts和Bolts間的網(wǎng)絡傳輸被打包進一個 topology,然后你交于一個Storm集群去執(zhí)行。當一個spout或bolt發(fā)射一個tuple到流里時, 它會發(fā)射這個tuple到所有的抓取這個流的bolt中。(需要注意的是,如果多個處理相同邏輯業(yè)務的bolt在發(fā)生數(shù)據(jù)聚合時,bolt的聚合結果未必是最終結果,這個和多個reducer計算Top one的情況是一樣的。)

Storm組件有哪些

     在Storm里每個node執(zhí)行是并行的。在你的topology里,你能指定node的并行度(比如 5),然后Storm會產(chǎn)生與其相當數(shù)量的Thread在集群中執(zhí)行。

     一個Topology會一直執(zhí)行下去的,或者你kill了它。Storm也會自動地重分配那些失敗了task。當然,Storm也會保證沒有任何的數(shù)據(jù)丟失,甚至機器下線和數(shù)據(jù)刪除(TODO 有待深究原理)

感謝各位的閱讀,以上就是“Storm組件有哪些”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Storm組件有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!


新聞名稱:Storm組件有哪些
分享URL:http://www.dlmjj.cn/article/jichep.html