溫馨提示×

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

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

取消storm跟蹤機(jī)制的方法有哪些

發(fā)布時(shí)間:2021-12-23 11:55:28 來(lái)源:億速云 閱讀:126 作者:iii 欄目:云計(jì)算

這篇文章主要講解了“取消storm跟蹤機(jī)制的方法有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“取消storm跟蹤機(jī)制的方法有哪些”吧!

storm中涉及的名詞

0、zookeeper

1、nimbus

2、supervisor

3、worker

4、executor

5、task

6、topology

0、zookeeper:存儲(chǔ)狀態(tài)信息、調(diào)度信息、心跳,---》nimbus和supervisor之間的通信是由zookeeper來(lái)連接的,nimbus和supervisor是不能直接通信的,storm集群中的信息都存儲(chǔ)在zookeeper中。

1、nimbus:相當(dāng)于集群中的master,storm是master/slave架構(gòu)---》nimbus主要有兩個(gè)任務(wù),1---》管理集群,supervisor向zookeeper寫(xiě)信息,然后nimbus從zookeeper的節(jié)點(diǎn)上獲取到信息,這樣nimbus就知道集群中的信息了。

2---》調(diào)度topology,當(dāng)一個(gè)topology通過(guò)nimbus提交到集群,nimbus會(huì)通過(guò)zookeeper中得到集群中有多少個(gè)supervisor和運(yùn)行狀況,然后根據(jù)supervisor運(yùn)行狀況啟動(dòng)worker,nimbus也負(fù)責(zé)接收數(shù)據(jù)。

2、supervisor:storm的每一個(gè)節(jié)點(diǎn)上會(huì)有一個(gè)supervisor進(jìn)程,supervisor負(fù)責(zé)啟動(dòng)和停止worker進(jìn)程。

3、worker:每一個(gè)supervisor進(jìn)程一般會(huì)啟動(dòng)多個(gè)worker進(jìn)程,worker就是jvm,主要負(fù)責(zé)兩件事;1、啟動(dòng)executor,2、負(fù)責(zé)worker和worker之間的通信。

4、executor:創(chuàng)建實(shí)際的Spout/Bolt對(duì)象,創(chuàng)建兩個(gè)線程,執(zhí)行線程、傳輸線程(負(fù)責(zé)task與task中數(shù)據(jù)的通信)。

5、task:本人認(rèn)為task就是executor中的執(zhí)行線程。

6、topology:就是我們寫(xiě)的storm程序

7、Spout(水龍頭):每一個(gè)topology都要有Spout節(jié)點(diǎn),都必須從Spout節(jié)點(diǎn)開(kāi)始,是生產(chǎn)Tuple的源頭,Spout有  KafkaSpout、DRPCSpout、RedisSpout等;Spout是集群的起始節(jié)點(diǎn),因此nimbus和supervisor都掛了,集群還是可以運(yùn)作的,Spout拿數(shù)據(jù)然后產(chǎn)生Tuple,再將數(shù)據(jù)發(fā)送給Bolt來(lái)處理數(shù)據(jù),nextTuple()就是Spout的發(fā)送數(shù)據(jù)的函數(shù),emit()是發(fā)送數(shù)據(jù)的方法;

8、Bolt:每一個(gè)topology可以有n個(gè)Bolt處理節(jié)點(diǎn),用去處理數(shù)據(jù)的中間狀態(tài)或結(jié)果狀態(tài),Bolt中的execute()方法是用來(lái)處理數(shù)據(jù)的

    BaseBolt:

    RichBolt:collector.emit(oldTuple,newTuple);

9、Tuple:Tuple的id對(duì)于Storm的可靠性是非常有用的,數(shù)據(jù)的最小單元

10、acker:Storm的跟蹤機(jī)制,Tuple在每一級(jí)的處理都會(huì)向acker匯報(bào);如果規(guī)定時(shí)間內(nèi)沒(méi)有返回到需要的信息,會(huì)有一定的處理機(jī)制,比如重發(fā)或丟棄;

    取消跟蹤機(jī)制的三種方法

        1、在配置文件中將Config.TOPOLOGY_ACKERS設(shè)置為0,整個(gè)bolt樹(shù)狀結(jié)構(gòu)都沒(méi)有ack機(jī)制

        2、不設(shè)置messageid,沒(méi)有messageid,ack就沒(méi)法做異或運(yùn)算;

        3、在發(fā)送Tuple時(shí)不發(fā)送oldTuple

跟蹤總結(jié):ack機(jī)制實(shí)現(xiàn)首先需要配置,其次有messageid,最后要將原Tuple和新Tuple都發(fā)送出去;

10、Stream:每一個(gè)Stream都有一個(gè)id,如果沒(méi)有指定寫(xiě)id就用的是默認(rèn)的流,叫default,每個(gè)Spout/Bolt都有一個(gè)默認(rèn)的Stream:default

注:并發(fā)度的衡量標(biāo)準(zhǔn)是由多少個(gè)executor(thread),而不是task

感謝各位的閱讀,以上就是“取消storm跟蹤機(jī)制的方法有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)取消storm跟蹤機(jī)制的方法有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

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

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

AI