久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Storm拓撲并發度怎么實現

156次閱讀
沒有評論

共計 1947 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要講解了“Storm 拓撲并發度怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Storm 拓撲并發度怎么實現”吧!

1 Storm 是按照下面三種主要的部分來區分 Storm 集群之中一個世紀運行的拓撲的:

1:worker

2:Executor (線程)

3:tasks

下圖簡單的說明了他們的關系~,好的,這是一張重復發表的結構圖:

  對于上文而言,一個 Task,也就是  :

一個 Executor 是一個 worker 進程生成的一個線程,他可能運行著一個相同的組件 Spout 和 bolt 的一個或者

多個 task

1 個 task 執行著實際的數據處理,你用代碼實現的每一個 spout 或 bolt 就相當于分布于整個集群中的許多個 task。

在 1 個拓撲的生命周期中,1 個組 件的 task 的數量總是一樣的,但是 1 個組件的 executor(線程)的數量可以隨著時

間而改變。這意味著下面的條件總是成立:thread 的數量 = task 的數量。默認情況下,task 的數量與 executor 的

數量一樣,例如,Storm 會在每 1 個線程運行 1 個 task。

配置拓撲的并發度

注意 Storm 的術語 并發度 (parallelism) 是特別用來描述所謂的 parallelism hint 的,這代表 1 個組件的初始的 executor(線程) 的數量。在此文檔中我們使用術語 并發度 的一般意義來描述你不但可以配置 executor 的數量,還可以配置 worker 進程的數量,還可以是 1 個拓撲的 task 的數量。在用到并發度的狹義的定義時我們會特別提出。

下面的小節給出了一些不同的配置選項,還有你如何在代碼中設置它們。有多種方法可以進行設置,表格列舉了其中幾種。Storm 目前有下列的配置優先級:defaults.yaml storm.yaml 特定拓撲的配置 內部特定組件的配置 外部特定組件的配置。

指標 1: worker 進程的數量

描述:一個拓撲有多少個分布于集群中的機器的 Wokrer 進程

配置選項:TopoLogy_workers

如何在代碼中設置:  Config.setNumWorkers

指標 2:executor 的數量 (線程)

描述:每個組件會有多好個 executor

配置選項 :

 TopologyBuilder.setPout();

 TopologyBuilder.setBolt();

指標 3:task 的數量:

ComponentConfigurationDeclarer#setNumTasks()

    好比在具體的實踐之中:

    topologyBuilder.setBolt(green-bolt ,new GreenBolt(),2).setNumTasks(4).shuffleGrouping(blue-spout    

  在上面的代碼中,我們配置了 Storm 運行 GreenBolt 指定了初始有

 1:『2 個 executor』

 2:『4 個相關的 task』

一個運行中的拓撲的例子

 

  下面我們來看看以下,簡單的三元色,藍,綠,黃 三個 bolt 的的流動關系:

       

    在上圖之中,總共的 parallellsm 為 10,一共有兩個 worker【也就是上圖之中,2 個比較大的分區】,每個 Worker

具備有 10/2 =5 條線程

請注意

      綠色的 Bolt 配置成 2 個 executor 和 4 個 task,為此每個 executor 為這個 bolt 運行 2 個 task

  以下的代碼可以配置以上的說明組件:

Config conf = new Conf();
conf.setNumWorkers(2);  在這里我們使用兩個 Worker 進程
topologyBuilder.setSpout(bule-spout,newBlueSpout(),2);  我們的 blue 不斷產生數據,topologyBuilder.setBolt(green-bolt ,new GreenBolt(),2).setNumTasks(4).shuffleGrouping( blueSpout 
topologyBuilder.setBolt(“yellow-bolt”, new YellowBolt(), 6) .shuffleGrouping(“green-bolt”);
StormSubmitter.submitTopology( “mytopology”, conf, topologyBuilder.createTopology());

感謝各位的閱讀,以上就是“Storm 拓撲并發度怎么實現”的內容了,經過本文的學習后,相信大家對 Storm 拓撲并發度怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計1947字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 兴城市| 中西区| 岗巴县| 东安县| 福贡县| 会东县| 武功县| 三门峡市| 吴堡县| 荣成市| 乌兰浩特市| 汶川县| 岱山县| 工布江达县| 泸西县| 新郑市| 资兴市| 板桥市| 田阳县| 芦山县| 辛集市| 灌南县| 若尔盖县| 剑川县| 定西市| 澜沧| 宾川县| 双流县| 万源市| 营山县| 布尔津县| 旬邑县| 改则县| 淄博市| 莱西市| 尖扎县| 梁平县| 安图县| 师宗县| 宁晋县| 娄底市|