午夜三区_久久久久亚洲一区二区三区_夜夜操操操_久久久精彩视频_日韩在线观看视频一区二区_91视频观看

storm,13.storm理論-Storm介紹以及代碼實戰(zhàn)

抖帥宮 965 2023-08-07

storm,13.storm理論-Storm介紹以及代碼實戰(zhàn)-第1張-觀點-玄機派

來源頭條作者:一席話君Storm 特征

Storm是個實時的、分布式以及具備高容錯的計算系統(tǒng)

Storm進(jìn)程常駐內(nèi)存

Storm數(shù)據(jù)不經(jīng)過磁盤,在內(nèi)存中處理

Storm架構(gòu)架構(gòu)

Nimbus(老板)

負(fù)責(zé)資源調(diào)度和任務(wù)分配,接收jar包

Supervisor(監(jiān)工)

負(fù)責(zé)接受nimbus分配的任務(wù),啟動和停止屬于自己管理的worker進(jìn)程

Worker(工人)

運行具體處理組件邏輯的進(jìn)程

Task

worker中每一個spout/bolt的線程稱為一個task. 在storm0.8之后,task不再與物理線程對應(yīng),同一個spout/bolt的task可能會共享一個物理線程,該線程稱為executor

zookpeer(CEO)

Nimbus做任務(wù)的規(guī)劃設(shè)計,相當(dāng)于公司老板

zk負(fù)責(zé)維護集群健康,具體調(diào)度Supervisor相關(guān)作業(yè)

計算模型

DAG (Topology)

– 有向無環(huán)圖

對于Storm實時計算邏輯的封裝

即,由一系列通過數(shù)據(jù)流相互關(guān)聯(lián)的Spout、Bolt所組成的拓?fù)浣Y(jié)構(gòu)

生命周期:此拓?fù)渲灰獑泳蜁恢痹诩褐羞\行,直到手動將其kill,否則不會終止(區(qū)別于MapReduce當(dāng)中的Job,MR當(dāng)中的Job在計算執(zhí)行完成就會終止)

Tuple

– 元組

Stream中最小數(shù)據(jù)組成單元

Stream

– 數(shù)據(jù)流

從Spout中源源不斷傳遞數(shù)據(jù)給Bolt、以及上一個Bolt傳遞數(shù)據(jù)給下一個Bolt,所形成的這些數(shù)據(jù)通道即叫做Stream

Stream聲明時需給其指定一個Id(默認(rèn)為Default)

實際開發(fā)場景中,多使用單一數(shù)據(jù)流,此時不需要單獨指定StreamId

Spout

– 數(shù)據(jù)源

1. 拓?fù)渲袛?shù)據(jù)流的來源。一般會從指定外部的數(shù)據(jù)源讀取元組(Tuple)發(fā)送到拓?fù)洌═opology)中

2. 一個Spout可以發(fā)送多個數(shù)據(jù)流(Stream)

可先通過OutputFieldsDeclarer中的declare方法聲明定義的不同數(shù)據(jù)流,發(fā)送數(shù)據(jù)時通過SpoutOutputCollector中的emit方法指定數(shù)據(jù)流Id(streamId)參數(shù)將數(shù)據(jù)發(fā)送出去

3. Spout中最核心的方法是nextTuple,該方法會被Storm線程不斷調(diào)用、主動從數(shù)據(jù)源拉取數(shù)據(jù),再通過emit方法將數(shù)據(jù)生成元組(Tuple)發(fā)送給之后的Bolt計算

Bolt

– 數(shù)據(jù)流處理組件

1. 拓?fù)渲袛?shù)據(jù)處理均有Bolt完成。對于簡單的任務(wù)或者數(shù)據(jù)流轉(zhuǎn)換,單個Bolt可以簡單實現(xiàn);更加復(fù)雜場景往往需要多個Bolt分多個步驟完成

2. 一個Bolt可以發(fā)送多個數(shù)據(jù)流(Stream)

可先通過OutputFieldsDeclarer中的declare方法聲明定義的不同數(shù)據(jù)流,發(fā)送數(shù)據(jù)時通過SpoutOutputCollector中的emit方法指定數(shù)據(jù)流Id(streamId)參數(shù)將數(shù)據(jù)發(fā)送出去

3. Bolt中最核心的方法是execute方法,該方法負(fù)責(zé)接收到一個元組(Tuple)數(shù)據(jù)、真正實現(xiàn)核心的業(yè)務(wù)邏輯

Stream Grouping

– 數(shù)據(jù)流分組(即數(shù)據(jù)分發(fā)策略)

數(shù)據(jù)傳輸

ZMQ(twitter早期產(chǎn)品)

ZeroMQ 開源的消息傳遞框架,并不是一個MessageQueue

Netty

Netty是基于NIO的網(wǎng)絡(luò)框架,更加高效。(之所以Storm 0.9版本之后使用Netty,是因為ZMQ的license和Storm的license不兼容。)

優(yōu)勢

高可靠性

異常處理

消息可靠性保障機制(ACK)

可維護性

StormUI 圖形化監(jiān)控接口

應(yīng)用場景流式處理

流式處理(異步 與 同步)

客戶端提交數(shù)據(jù)進(jìn)行結(jié)算,并不會等待數(shù)據(jù)計算結(jié)果

逐條處理

例:ETL(數(shù)據(jù)清洗)extracted transform load

統(tǒng)計分析

例:計算PV、UV、訪問熱點 以及 某些數(shù)據(jù)的聚合、加和、平均等

客戶端提交數(shù)據(jù)之后,計算完成結(jié)果存儲到Redis、HBase、MySQL或者其他MQ當(dāng)中,

客戶端并不關(guān)心最終結(jié)果是多少。

實時請求

實時請求應(yīng)答服務(wù)(同步)

客戶端提交數(shù)據(jù)請求之后,立刻取得計算結(jié)果并返回給客戶端

Drpc

實時請求處理

例:圖片特征提取

計算框架對比Strom vs mapreduce

Storm:進(jìn)程、線程常駐內(nèi)存運行,數(shù)據(jù)不進(jìn)入磁盤,數(shù)據(jù)通過網(wǎng)絡(luò)傳遞。

MapReduce:為TB、PB級別數(shù)據(jù)設(shè)計的批處理計算框架。

Strom vs Spark Streaming

Storm:純流式處理

專門為流式處理設(shè)計

數(shù)據(jù)傳輸模式更為簡單,很多地方也更為高效

并不是不能做批處理,它也可以來做微批處理,來提高吞吐

Spark Streaming:微批處理

將RDD做的很小來用小的批處理來接近流式處理

基于內(nèi)存和DAG可以把處理任務(wù)做的很快

上一篇:為除掉情敵 武則天效仿呂后 將王皇后蕭淑妃做成人彘
下一篇:名字帶月的女人的命運,是猶豫了一個月還是決定發(fā)出來#女生必看
相關(guān)文章

 發(fā)表評論

暫時沒有評論,來搶沙發(fā)吧~

返回頂部小火箭
主站蜘蛛池模板: 一级毛片网 | 精品欧美乱码久久久久久 | 日韩成人免费中文字幕 | 国产精品免费一区二区 | 日韩不卡在线观看 | 欧美日韩国产不卡 | 国产剧情一区二区三区 | 91精品国产一区二区三区 | 一区二区三区久久久 | 中文字幕av亚洲精品一部二部 | 欧美激情精品久久久久久 | 亚洲欧美中文日韩在线v日本 | 日韩精品在线观看一区二区三区 | 国产91av视频在线观看 | 久久精品成人热国产成 | 日韩欧美手机在线 | 日日骚网 | 亚洲综合热 | 狠狠干2020 | 国产乱码精品一区二区三区中文 | 七七婷婷婷婷精品国产 | 91在线视频免费观看 | 欧美不卡视频一区发布 | 日本一区二区高清视频 | 欧美精品一区二区三 | 日韩毛片免费看 | 久久久亚洲 | 精品欧美一区二区在线观看视频 | 色接久久 | 波多野结衣中文字幕一区二区三区 | av中文字幕在线观看 | 免费一级黄色电影 | 日韩午夜在线播放 | 久久久久久久av麻豆果冻 | 午夜精品久久久久久久久久久久久 | 国产精品久久国产精品 | 中文字幕一区二区三区在线观看 | 国产亚洲一区二区三区在线观看 | 日韩欧美在线一区 | 中文字幕在线免费观看 | 免费观看黄a一级视频 |