内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

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)驗豐富的架構(gòu)師高端網(wǎng)站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡營銷方案,解決網(wǎng)絡營銷疑問。

Storm 組件

     Storm集群表面上與hadoop集群類似。在hadoop集群上,你可以跑 mapreduce job,而在storm集群上你可以跑各種topology。但其實 mapreduce job 和 topology,他們是非常不一樣的——其中最主要的差別就是,一個Mapreduce job 可以運行結(jié)束,然后一個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的結(jié)構(gòu)定義是Thrift(facebook 寫的一個夸語言調(diào)用框架)結(jié)構(gòu),同時Nimbus也是也是一個Thrift服務,所以你能創(chuàng)建和提交任何語言寫的topology。

Streams

    在Storm里最抽象的是 "stream"。Stream是一個無邊界且序列化的tuples。Storm提供了原語來把一個stream轉(zhuǎn)化成另一個新的stream,且這種轉(zhuǎn)化是分布式的,可靠的。下圖就是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ù)流。混合復雜的流轉(zhuǎn)化,需要多個步驟,多個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的聚合結(jié)果未必是最終結(jié)果,這個和多個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),小編將為大家推送更多相關知識點的文章,歡迎關注!

網(wǎng)頁題目:Storm組件有哪些
新聞來源:http://www.rwnh.cn/article48/jichep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、自適應網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站收錄網(wǎng)站導航、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
奉新县| 大宁县| 鸡泽县| 徐闻县| 呼图壁县| 北川| 嘉兴市| 始兴县| 自治县| 桂阳县| 庆安县| 贵德县| 汉寿县| 突泉县| 台前县| 郸城县| 通州区| 兴文县| 五大连池市| 宽甸| 白朗县| 虹口区| 民乐县| 萝北县| 双城市| 临湘市| 富阳市| 洮南市| 滦平县| 山丹县| 贵溪市| 兴安盟| 定南县| 晋州市| 无锡市| 汶上县| 绿春县| 陇西县| 池州市| 横峰县| 通州市|