Storm學習記錄(四 併發機制和通訊機制)

2021-09-08 21:31:10 字數 2066 閱讀 6492

worker –

程序:乙個topology

拓撲會包含乙個或多個

worker

(每個worker

程序只能從屬於乙個特定的

topology)

這些worker

程序會並行跑在集群中不同的伺服器上,即乙個

topology

拓撲其實是由並行執行在

storm

集群中多台伺服器上的程序所組成

executor –

執行緒:executor是由

worker

程序中生成的乙個執行緒 每個

worker

程序中會

執行拓撲當中的

乙個或多個

executor執行緒

乙個executor

執行緒中可以執行乙個或多個

task

任務(預設每個

executor

只執行乙個

task

任務),但是這些

task

任務都是對應著同乙個元件(

spout

、bolt)。

task:實際執行資料處理的最小單元,每個task

即為乙個

spout

或者乙個

bolt

task

數量在整個

topology

生命週期中保持不變,

executor

數量可以變化或手動調整

(預設情況下,

task

數量和executor

是相同的,即每個

executor

執行緒中預設執行乙個

task

任務)

設定worker程序數:

config.setnumworkers(

intworkers)

設定

executor

執行緒數:

topologybuilder.setspout

(string id,

irichspout

spout, number

parallelism_hint)

topologybuilder.setbolt

(string id,

irichbolt

bolt, number

parallelism_hint

),其中,

parallelism_hint

即為executor

執行緒數

設定

task

數量componentconfigurationdeclarer.setnumtasks

(number

val)

config conf = new config() ;

conf.setnumworkers(2);

topologybuilder topologybuilder = new topologybuilder();

topologybuilder.setspout("spout", new myspout(), 1);

topologybuilder.setbolt("green-bolt", new greenbolt(), 2)

.setnumtasks(4)

.shufflegrouping("blue-spout);

舉例:

Storm之併發機制

為了提高storm的並行能力,通常需要設定並行。1.1 worker 程序 設定worker程序數 config.setnumworkers int workers 1.2 executor 執行緒 設定executor執行緒數 topologybuilder.setspout string id,...

Storm的原理和機制

1.資料流型別 1 spout bolt 2 spout bolt1 bolt2 即多層bolt,把邏輯和演算法分解成多個環節執行 3 spout n bolt 即多個spout發資料給1個bolt處理 4 spout bolt n 即1個spout發資料給多個bolt處理 2.grouping策略...

Storm學習記錄(一 簡介)

storm是乙個免費並開源的分布式實時計算系統。利用storm可以很容易做到可靠地處理無限的資料流,像hadoop批量處理大資料一樣,storm可以實時處理資料。storm簡單,可以使用任何程式語言。storm有如下特點 程式設計簡單 開發人員只需要關注應用邏輯,而且跟hadoop類似,storm提...