日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Storm并行度详解

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Storm并行度详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Storm并行度相關的概念

  Storm集群有很多節點,按照類型分為nimbus(主節點)、supervisor(從節點),在conf/storm.yaml中配置了一個supervisor,有多個槽(supervisor.slots.ports),每個槽就是一個JVM,就是一個worker(一個節點,運行一個worker),在每個worker里面可以運行多個線程叫做executor,在executor里運行一個topology的一個component(spout、bolt)叫做task。task??是storm中進行計算的最小的運行單位,表示是spout或者bolt的運行實例。

總結一下,supervisor(節點)>worker(進程)>executor(線程)>task(實例)

  程序執行的最大粒度的運行單位是進程,剛才說的task也是需要有進程來運行它的,在supervisor中,運行task的進程稱為worker, Supervisor節點上可以運行非常多的worker進程,一般在一個進程中是可以啟動多個線程的,所以我們可以在worker中運行多個線程,這些線程稱為executor,在executor中運行task。 提高storm的并行度,可 考慮如下幾點: worker(進程)>executor(線程)>task(實例) 增加work進程,增加executor線程,增加task實例 看下面的圖: 這表示是一個work進程,其實就是一個jvm虛擬機進程,在這個work進程里面有多個executor線程,每個executor線程會運行一個或多個task實例。一個task是最終完成數據處理的實體單元。(默認情況下一個executor運行一個task). worker,executor,task解釋 1個worker進程執行的是1個topology的子集(注:不會出現1個worker為多個topology服務)。1個worker進程會啟動1個或多個executor線程來執行1個topology的component(spout或bolt)。因此,1個運行中的topology就是由集群中多臺物理機上的多個worker進程組成的。 executor是1個被worker進程啟動的單獨線程。每個executor只會運行1個topology的1個component(spout或bolt)的task(注:task可以是1個或多個,storm默認是1個component只生成1個task,executor線程里會在每次循環里順序調用所有task實例)。 task是最終運行spout或bolt中代碼的單元(注:1個task即為spout或bolt的1個實例,executor線程在執行期間會調用該task的nextTuple或execute方法)。topology啟動后,1個component(spout或bolt)的task數目是固定不變的,但該component使用的executor線程數可以動態調整(例如:1個executor線程可以執行該component的1個或多個task實例)。這意味著,對于1個component存在這樣的條件:#threads<=#tasks(即:線程數小于等于task數目)。默認情況下task的數目等于executor線程數目,即1個executor線程只運行1個task。 剛才從理論說明了如何提高集群的并行度,在這里我們就來看一下這些東西worker(進程)>executor(線程)>task(實例)?是如何設置的 l??worker(進程):這個worker進程數量是在集群啟動之前配置好的,在哪配置的呢?是在storm/conf/storm.yaml文件中,參數是supervisor.slots.port,如果我們不在這進行配置的話,這個參數也是有默認值的,在strom-1.0.2的壓縮包中的lib目錄下,有一個strom-core.jar,打開這個jar文件,在里面有一個defaults.yaml文件中是有一些默認配置的。 默認情況下一個storm項目只使用一個work進程,也可以通過代碼進行修改,通過config.setNumWorkers(workers)設置。(最好一臺機器上的一個topology只使用一個worker,主要原因時減少了worker之間的數據傳輸) 注意:如果worker使用完的話再提交topology就不會執行,因為沒有可用的worker,只能處于等待狀態,把之前運行的topology停止一個之后這個就會繼續執行了, l executor(線程):默認情況下一個executor運行一個task,可以通過在代碼中設置builder.setSpout(id,spout,?parallelism_hint);或者builder.setBolt(id,bolt,parallelism_hint);來提高線程數的。 l task(實例):通過boltDeclarer.setNumTasks(num);來設置實例的個數 默認情況下,一個supervisor節點會啟動4個worker進程。每個worker進程會啟動1個executor,每個executor啟動1個task。 Ok,這幾個參數都可以使用一些方法進行增加。

二、示例說明

下面來舉個例子看一下對這些配置修改之后的效果

1、worker(進程)

通過在代碼中設置,可在ui界面上查看worker的總數,并且還可以在linux服務器上執行jps查看work進程 在代碼中設置使用3個worker,查看ui界面,發現workers是3個,executors使用了5個,為什么呢?因為每一個worker默認都會占用一個executor(這個executor會啟動一個acker任務),這樣就會占用三個,剩下的兩個是spout和bolt實例占用了。 如果使用5個worker,executor會使用7個,因為worker本身就會占用5個,spout和bolt占用兩個。 Acker任務:   acker任務默認是每個worker進程啟動一個executor線程來執行,可以在topology中取消acker任務,這樣的話就不會多出來一個executor和任務了。

?

實際上就是修改TOPOLOGY_ACKER_EXECUTORS配置,如下: // storm配置 Config stormConf = new Config(); stormConf.TOPOLOGY_ACKER_EXECUTORS = 0;//關閉 這樣的話在頁面查看executor和task的個數一樣了。

2、 executor(線程)

在spout和bolt中設置線程數,都設置為2個,查看ui界面 現在使用的executor和tasks就是7個了,因為worker本身使用3個,spout和bolt分別使用2個。

3、 task(實例)

在sum中設置實例個數為5,查看ui界面 發現ui界面上顯示的tasks是10,因為spout占用2個,bolt占用5個,剩下的3個由acker任務占用 注意:雖然在這設置了多個task實例,但是并行度并沒有很大提高,因為只有兩個線程去運行這些實例,只有設置足夠多的線程和實例才可以真正的提高并行度。 在這設置多個實例主要是為了下面執行rebalance的時候用到,因為rebalance不需要修改代碼,就可以動態修改topology的并行度,這樣的話就必須提前配置好多個實例,在rebalance的時候主要是對之前設置多余的任務實例分配線程去執行。

三、在命令行中動態修改并行度

除了使用代碼進行調整,還可以在shell命令行下對并行度進行調整。 storm rebalance mytopology -w 10 -n 2 -e spout=2 -e bolt=2 表示 10秒之后對mytopology進行并行度調整。把spout調整為2個executor,把bolt調整為2個executor。 注意:并行度主要就是調整executor的數量,但是調整之后的executor的數量必須小于等于task的數量,如果分配的executor的線程數比task數量多的話也只能分配和task數量相等的executor。

總結

以上是生活随笔為你收集整理的Storm并行度详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线精品视频 | 亚洲欧洲无码一区二区三区 | 图书馆的女友在线观看 | 日韩一区二区三区三四区视频在线观看 | 国产日本精品视频 | 99视频一区二区 | 美女被草出水 | 丝瓜色版| 精品在线第一页 | 91丨九色丨黑人外教 | 亚洲乱色熟女一区二区三区 | 国内黄色一级片 | 9l视频自拍九色9l视频 | 久久人人看 | 国产成人免费视频 | 91干 | 亚洲免费av一区二区 | 国产精品日韩av | 国产精品7777 | 欧美日韩一级黄色片 | 亚洲在线免费视频 | 国产精品美女久久久网av | 国产一区二区精品在线 | 国产欧美日韩精品在线观看 | 色婷婷av一区二区三区四区 | 97se.com| 肉色欧美久久久久久久免费看 | 伊人伊人伊人伊人 | 午夜综合网 | www.天天色 | 中文字幕av日韩 | 在办公室被c到呻吟的动态图 | 一区二区精品免费 | 你懂的视频在线播放 | 91香蕉黄 | 免费观看已满十八岁 | 久久久久久久九九九九 | 久久国产精品久久国产精品 | 欧美一区网站 | 国产在线拍揄自揄拍 | 久久久亚洲一区二区三区 | 色一情一乱一伦 | 亚洲va欧美va天堂v国产综合 | 免费无遮挡无码永久在线观看视频 | 中文字幕爱爱 | 美女国产精品 | 国产睡熟迷奷系列精品视频 | 国产日韩一区二区三区在线观看 | 自拍毛片 | 性色一区| 亚洲综合激情网 | 视频在线观看91 | 伊人亚洲影院 | 深爱婷婷网 | 久久99国产精品视频 | 亚洲av无码成人精品国产 | 日韩欧美一区二区三区在线 | 天天干,夜夜操 | 久久亚洲电影 | 一区av在线| 中日韩在线观看视频 | 人妻av无码一区二区三区 | 男女做爰猛烈刺激 | 米奇影视第四色 | 青草青在线视频 | av在线看片 | 日日噜夜夜噜 | 亚洲激情网址 | 视频区小说区图片区 | 人人综合网 | 男人免费视频 | 欧美日韩国产综合网 | 九九热视频这里只有精品 | 日本在线一 | 午夜视频福利在线观看 | 国产人人射| 男人和女人在床的app | 欧美大片网站 | 国产做受高潮 | 久久久久久免费视频 | 黄色av网站在线播放 | 丁香综合激情 | 国产精品av网站 | 国产精品久久久久久久久毛片 | 少妇性色av | 精品国产乱码久久久久久1区二区 | 中文字幕一区二区三区乱码人妻 | 亚洲2022国产成人精品无码区 | 爱涩av | 内谢少妇xxxxx8老少交视频 | 亚洲成人无码久久 | 亚洲一区二区三区 | 特级黄色网 | 91久久人澡人人添人人爽欧美 | 91精东传媒理伦片在线观看 | 极品色av影院 | 蜜臀av中文字幕 | 91视频在线免费观看 | 黄色网址你懂的 |