中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Storm拓撲并發度怎么實現

發布時間:2021-12-23 14:13:12 來源:億速云 閱讀:160 作者:iii 欄目:云計算

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

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

1 : worker

2:Executor (線程)

3:tasks

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

Storm拓撲并發度怎么實現

 對于上文而言,一個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的的流動關系:

        Storm拓撲并發度怎么實現

   在上圖之中,總共的 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拓撲并發度怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

剑阁县| 寿宁县| 罗江县| 丰原市| 满城县| 龙山县| 扎兰屯市| 宁夏| 通海县| 临江市| 新郑市| 姚安县| 航空| 蚌埠市| 巴东县| 澄江县| 南宫市| 黄浦区| 平南县| 汕尾市| 蓬安县| 田阳县| 清远市| 海宁市| 溧水县| 奇台县| 米林县| 博兴县| 杨浦区| 子洲县| 余江县| 大兴区| 潮安县| 庐江县| 大新县| 吴忠市| 云梦县| 区。| 政和县| 泗洪县| 宜城市|