溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Storm基本知識總結(jié)

發(fā)布時間:2020-07-15 14:47:11 來源:網(wǎng)絡(luò) 閱讀:970 作者:飛魚之戀 欄目:大數(shù)據(jù)

Storm是一個開源的分布式實時計算系統(tǒng),可以簡單、可靠的處理大量的數(shù)據(jù)流。Storm的部署和運(yùn)維都很便捷,而且更為重要的是可以使用任意編程語言來開發(fā)應(yīng)用。

storm:實時計算系統(tǒng)

            低延遲,高性能,分布式,可擴(kuò)展,容錯

特點:簡單編程模型,熱部署,各種編程語言,可擴(kuò)展,容錯,可靠消息處理,快速,本地模式

storm基本概念:

        Nimbus:負(fù)責(zé)資源分配和任務(wù)調(diào)度

        Supervisor:負(fù)責(zé)接受nimbus分配的任務(wù),啟動和停止屬于自己管理的worker進(jìn)程

        Worker:運(yùn)行具體處理組件邏輯的進(jìn)程

        Task:worker中每一個spout/bolt的線程稱為一個task,在storm0.8后,task不在與物理線程對應(yīng),同一個spout/bolt的task可能會共享一個物理線程,該線程稱為executor

        Topology:storm中運(yùn)行的一個實時的應(yīng)用程序,因為各個組件間的消息流動形成邏輯上的一個拓?fù)浣Y(jié)構(gòu)

        Spout:在一個topology中產(chǎn)生源數(shù)據(jù)的組件。通常情況下spout會從外部數(shù)據(jù)源中讀取數(shù)據(jù),然后轉(zhuǎn)換為topology的內(nèi)部的源數(shù)據(jù)。spout是一個主動的角色,其接口中有一個nextTuple()的函數(shù)。storm框架會不停的調(diào)用此函數(shù),用戶只要在其中生成源數(shù)據(jù)即可。

        Bolt:在一個topology中接受數(shù)據(jù)然后執(zhí)行處理的組件。Bolt可以執(zhí)行過濾、函數(shù)操作、合并、寫數(shù)據(jù)庫等任何操作。Bolt是一個被動的角色,其接口中有個execute(Tupleinput)函數(shù),在接受到消息后會調(diào)用此函數(shù),用戶可以在其中執(zhí)行自己想要的操作。

        Tuple:一次消息傳遞的基本單元。本來應(yīng)該是一個key-value的map,但是由于各個組件間的傳遞的tuple的字段名稱已經(jīng)事先定義好,所以Tuple中只要按序填入各個value就行了,是一個valueList。

        Stream:源源不斷傳遞的Tuple就組成了stream.

 

Strom使用場景:

1.流聚合:把兩個或者多個數(shù)據(jù)流聚合成一個數(shù)據(jù)流-基于一些共同的tuple字段。

2.批處理:為了性能或者一些別的原因,把一組tuple一起處理,而不是一個一個的單獨處理。

3.BasicBolt

a.讀一個輸入的tuple

b.根據(jù)一個輸入tuple發(fā)射一個或多個tuple

c.在execute的方法的最后ack那個輸入tuple遵循這類模式的bolt一般是函數(shù)或者是過濾器,這種模式太常見,storm為這類模式單獨封裝了一個接口:IbasicBolt

d.內(nèi)存內(nèi)緩存+Fields grouping組合

e.據(jù)算topN

f.用TimeCacheMap來高效的保存一個最近被更新對象的緩存

g.分布式RPC

storm分組機(jī)制

1.隨機(jī)分組(Shuffle grouping)

2.字段分組(Fields grouping)

3.全部分組(All grouping)

4.全局分組(Global grouping)

5.無分組(None grouping)

6.直接分組(Direct grouping)

7.實現(xiàn)CustomStreamGrouping接口來定義自己的分組


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI