溫馨提示×

溫馨提示×

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

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

storm如何提高運(yùn)行速

發(fā)布時(shí)間:2021-12-10 13:43:01 來源:億速云 閱讀:128 作者:小新 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)storm如何提高運(yùn)行速,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

(1)要將系統(tǒng)中的算法調(diào)優(yōu)。有可能一個(gè)算法浪費(fèi)了一小部分時(shí)間,但由于數(shù)據(jù)量可能比較大,以至于整體上1秒的時(shí)間內(nèi)可能浪費(fèi)大量的時(shí)間。因此,算法的設(shè)計(jì)還是比較重要的。

(2)其次,就是調(diào)整系統(tǒng)中占用資源比較多、運(yùn)算速度比較慢的那些spout和bolt。在進(jìn)行topology設(shè)計(jì)時(shí)需要設(shè)計(jì)好每個(gè)bolt的并行度。對于運(yùn)行速度比較慢的bolt,需要調(diào)大他們的并行度,是得更多的資源用到這些計(jì)算上面來。這里,bolt運(yùn)行的快慢是可以從ui界面中看到的,如下圖:

storm如何提高運(yùn)行速

如上圖,其中,capacity表示一種容量,其實(shí)就是占用的資源的百分比。比如,0.799就表示占用了79.9%的分配給這個(gè)bolt的資源。這個(gè)數(shù)值越大,則表示的處理起來速度越慢,則更要加大它的并行度。

(3)然后就是設(shè)置acker的數(shù)量。acker是在bolt成功處理后,進(jìn)行ack調(diào)用的線程(還是進(jìn)程,我忘記了)。當(dāng)數(shù)據(jù)量比較大時(shí),需要使用這個(gè)線程的次數(shù)就比較多,因此有可能這個(gè)線程就是制約處理速度的因素。因此,可以適當(dāng)調(diào)大acker的數(shù)量,用于進(jìn)行ack的調(diào)用。系統(tǒng)中,如果不設(shè)置的話,acker的數(shù)量默認(rèn)為1;可以通過以下語句在topology中進(jìn)行設(shè)定:

conf.put(Config.TOPOLOGY_ACKER_EXECUTORS, 10);//設(shè)置acker的數(shù)量

(4)當(dāng)集群中數(shù)據(jù)量比較大時(shí),則最好能設(shè)置spout中的等待處理的數(shù)據(jù)量的大小。當(dāng)集群中等待的數(shù)據(jù)量比較大時(shí),也就是數(shù)據(jù)發(fā)送比較快,但是處理太慢。這個(gè)時(shí)候應(yīng)該阻止spout的發(fā)送,否則可能會(huì)導(dǎo)致系統(tǒng)隊(duì)列爆掉。因此,設(shè)置以下:

conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 10000);//設(shè)置一個(gè)spout task上面最多有多少個(gè)沒有處理的tuple(沒有ack/failed)回復(fù),以防止tuple隊(duì)列爆掉

(5)在Spout調(diào)用nextTuple方法時(shí),如果沒有emit tuple,那么默認(rèn)需要休眠1ms,這個(gè)具體的策略是可配置的,因此可以根據(jù)自己的具體場景,進(jìn)行設(shè)置,以達(dá)到合理利用cpu資源。

topology.spout.wait.strategy "backtype.storm.spout.SleepSpoutWaitStrategy"
topology.sleep.spout.wait.strategy.time.ms       1

關(guān)于“storm如何提高運(yùn)行速”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

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

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

AI