成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Storm分布式實時大數據處理框架

大數據
按照storm作者的說法,Storm對于實時計算的意義類似于Hadoop對于批處理的意義。Hadoop提供了map、reduce原語,使我們的批處理程序變得簡單和高效。

1.什么是Storm

Storm是Twitter開源的分布式實時大數據處理框架,被業界稱為實時版Hadoop。隨著越來越多的場景對Hadoop的MapReduce高延遲無法容忍,比如網站統計、推薦系統、預警系統、金融系統(高頻交易、股票)等等,大數據實時處理解決方案(流計算)的應用日趨廣泛,目前已是分布式技術領域最新爆發點,而Storm更是流計算技術中的佼佼者和主流。

按照storm作者的說法,Storm對于實時計算的意義類似于Hadoop對于批處理的意義。Hadoop提供了map、reduce原語,使我們的批處理程序變得簡單和高效。同樣,Storm也為實時計算提供了一些簡單高效的原語,而且Storm的Trident是基于Storm原語更高級的抽象框架,類似于基于Hadoop的Pig框架,讓開發更加便利和高效。

2.Storm應用場景

推薦系統(實時推薦,根據下單或加入購物車推薦相關商品)、金融系統、預警系統、網站統計(實時銷量、流量統計,如淘寶雙11效果圖)、交通路況實時系統等等。

3.Storm的一些特性

1.適用場景廣泛: storm可以實時處理消息和更新DB,對一個數據量進行持續的查詢并返回客戶端(持續計算),對一個耗資源的查詢作實時并行化的處理(分布式方法調用,即DRPC),storm的這些基礎API可以滿足大量的場景。

2. 可伸縮性高: Storm的可伸縮性可以讓storm每秒可以處理的消息量達到很高。擴展一個實時計算任務,你所需要做的就是加機器并且提高這個計算任務的并行度 。Storm使用ZooKeeper來協調集群內的各種配置使得Storm的集群可以很容易的擴展。

3. 保證無數據丟失: 實時系統必須保證所有的數據被成功的處理。 那些會丟失數據的系統的適用場景非常窄, 而storm保證每一條消息都會被處理, 這一點和S4相比有巨大的反差。

4. 異常健壯: storm集群非常容易管理,輪流重啟節點不影響應用。

5. 容錯性好:在消息處理過程中出現異常, storm會進行重試

6. 語言無關性: Storm的topology和消息處理組件(Bolt)可以用任何語言來定義, 這一點使得任何人都可以使用storm.

4.storm集群結構

Nimbus 和Supervisors 之間所有的協調工作是通過 一個Zookeeper 集群。

Nimbus進程和 Supervisors 進程是無法直接連接,并且是無狀態的; 所有的狀態維持在Zookeeper中或保存在本地磁盤上。

意味著你可以 kill -9 Nimbus 或Supervisors 進程,而不需要做備份。

這種設計導致storm集群具有令人難以置信的穩定性,并且無耦合。

5.storm工作原理

Nimbus 負責在集群分發的代碼,topo只能在nimbus機器上提交,將任務分配給其他機器,和故障監測。

Supervisor,監聽分配給它的節點,根據Nimbus 的委派在必要時啟動和關閉工作進程。 每個工作進程執行topology 的一個子集。一個運行中的topology 由很多運行在很多機器上的工作進程組成。

在Storm中有對于流stream的抽象,流是一個不間斷的無界的連續tuple,注意Storm在建模事件流時,把流中的事件抽象為tuple即元組

Storm認為每個stream都有一個源,也就是原始元組的源頭,叫做Spout(管口)

處理stream內的tuple,抽象為Bolt,bolt可以消費任意數量的輸入流,只要將流方向導向該bolt,同時它也可以發送新的流給其他bolt使用,這樣一來,只要打開特定的spout再將spout中流出的tuple導向特定的bolt,bolt又對導入的流做處理后再導向其他bolt或者目的地。

可以認為spout就是水龍頭,并且每個水龍頭里流出的水是不同的,我們想拿到哪種水就擰開哪個水龍頭,然后使用管道將水龍頭的水導向到一個水處理器(bolt),水處理器處理后再使用管道導向另一個處理器或者存入容器中。

為了增大水處理效率,我們很自然就想到在同個水源處接上多個水龍頭并使用多個水處理器,這樣就可以提高效率。

這是一張有向無環圖,Storm將這個圖抽象為Topology(拓撲),Topo就是storm的Job抽象概念,一個拓撲就是一個流轉換圖

圖中每個節點是一個spout或者bolt,每個spout或者bolt發送元組到下一級組件。

而Spout到單個Bolt有6種流分組策略。

6.Topology

Storm將流中元素抽象為tuple,一個tuple就是一個值列表value list,list中的每個value可以是任意可序列化的類型。拓撲的每個節點都要說明它所發射出的元組的字段的name,其他節點只需要訂閱該name就可以接收處理。

7.storm相關概念

Streams:消息流

消息流是一個沒有邊界的tuple序列,而這些tuples會被以一種分布式的方式并行創建和處理。 每個tuple可以包含多列,字段類型可以是: integer, long, short, byte, string, double, float, boolean和byte array。 你還可以自定義類型 — 只要你實現對應的序列化器。

Spouts:消息源

Spouts是topology消息生產者。Spout從一個外部源(消息隊列)讀取數據向topology發出tuple。 消息源Spouts可以是可靠的也可以是不可靠的。一個可靠的消息源可以重新發射一個處理失敗的tuple, 一個不可靠的消息源Spouts不會。

Spout類的方法nextTuple不斷發射tuple到topology,storm在檢測到一個tuple被整個topology成功處理的時候調用ack, 否則調用fail。

storm只對可靠的spout調用ack和fail。

Bolts:消息處理者

消息處理邏輯被封裝在bolts里面,Bolts可以做很多事情: 過濾, 聚合, 查詢數據庫等。

Bolts可以簡單的做消息流的傳遞。復雜的消息流處理往往需要很多步驟, 從而也就需要經過很多Bolts。第一級Bolt的輸出可以作為下一級Bolt的輸入。而Spout不能有一級。

Bolts的主要方法是execute(死循環)連續處理傳入的tuple,成功處理完每一個tuple調用OutputCollector的ack方法,以通知storm這個tuple被處理完成了。當處理失敗時,可以調fail方法通知Spout端可以重新發送該tuple。

流程是: Bolts處理一個輸入tuple, 然后調用ack通知storm自己已經處理過這個tuple了。storm提供了一個IBasicBolt會自動調用ack。

Bolts使用OutputCollector來發射tuple到下一級Blot。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2017-11-03 15:05:56

Storm數據處理服務器

2018-08-24 10:28:41

大數據數據分析工具

2016-11-08 12:49:27

大數據分布式系統Druid-IO

2023-12-18 11:21:40

MongoDB數據庫

2012-12-06 10:59:51

大數據

2019-06-27 09:12:43

FlinkStorm框架

2011-12-22 09:21:04

云計算Hadoop大數據

2015-03-16 14:54:06

大數據流式大數據大數據處理

2015-11-09 09:58:31

大數據Lambda架構

2023-12-19 08:03:25

存儲大數據節點

2015-10-15 14:05:51

StormSparkMapReduce

2017-08-22 11:10:44

大數據分布式調度

2015-03-18 09:33:41

大數據分布式系統事務處理

2013-10-16 11:36:08

分布式大數據

2018-05-24 13:51:04

華為云

2017-02-15 14:36:12

開源大數據TensorFlowO

2012-05-18 10:49:36

SAP大數據HANA

2018-04-03 10:33:15

大數據

2017-09-06 17:05:54

大數據處理流程處理框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产情侣一区 | 青青草精品视频 | 久久51 | 国产日韩欧美二区 | 午夜电影网站 | 免费看av大片 | 亚洲国产精久久久久久久 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 国产99免费视频 | 日韩成人精品在线 | 亚洲福利一区二区 | www.狠狠干 | 久久久精品| 久久免费精品视频 | 成人精品一区 | 中文在线а√在线8 | 青青草在线视频免费观看 | 日韩一区不卡 | 日韩中文字幕av | a国产一区二区免费入口 | 亚洲精品中文字幕 | 欧美一区2区三区3区公司 | 国产乱码精品1区2区3区 | 亚洲欧美另类在线 | 亚洲天堂影院 | 国产探花在线观看视频 | 91精品国产色综合久久 | 欧美日韩成人网 | 久久精品一级 | 精品国产精品国产偷麻豆 | 一区二区三区免费 | 91精品国产欧美一区二区 | 成人高清视频在线观看 | 亚洲一区二区三区在线 | 久久99蜜桃综合影院免费观看 | www.97国产| 国产精品伦理一区二区三区 | 亚洲xx在线| 国产精品久久久久久久久久妞妞 | 日日天天 | 在线视频成人 |