storm 文件(2) 基本原理

2021-06-27 05:37:46 字數 1432 閱讀 7073

storm 文件(2)----基本原理

過去十年間,很多資料處理解決方案不停湧現。 mapreduce、hadoop以及相關技術使得儲存和處理資料在規模上是以前不可想象的。不幸的是, 這些資料處理技術沒有實時系統, 同時上述技術也沒打算這樣做。 沒有辦法使hadoop程式設計實時系統; 實時資料處理與批處理有一系列不同的基本要求。

然而,大規模實時資料處理正成為商業上越來越迫切的需求。「實時hadoop」已經稱為資料處理生態圈中最大缺陷。

storm填補了這個缺陷。

在storm出現之前,你一般需要手動搭建能夠進行佇列處理和worker的網路,已進行實時處理。workers 將處理佇列輸出的訊息,更新資料庫,傳送新訊息給其他佇列已進行更深層次的處理。不幸的是, 這種部署方式具有嚴格的限制:

2、易錯的:很少容錯。 你需要負責保證每乙個worker正常工作以及佇列化處理。

3、很難伸縮:當單個worker或者佇列的訊息吞吐量太大時,你需要劃分資料如何分布;你需要重新配置其他workers,以便知道傳送訊息的新目的位置。這都提高了資料遷移以及新資料片的失敗比例。

儘管佇列和workers並行機制打破了大規模訊息的限制,但是訊息處理對實時運算來說是清晰的基本並行機制。問題在於: 如何保證不丟失資料、如何擴大資料量、如何極其簡單的使用和操作。

storm實現了這些目標。

why storm is important?

storm包含了一系列實時運算的原語。就像mapreduce是怎樣極大的方便了並行批處理寫過程,storm's原語也極大的方便了並行實時運算的寫過程。

storm關鍵特徵是:

1、極其廣泛的用例:storm可以用來:處理訊息和更新資料庫(流式處理);連續的申請資料流;將結果流式的送入客戶端(連續運算);並行處理強烈的請求,例如執行中的搜尋請求;等等。storm's小規模的原語滿足了驚人的用例。

2、可伸縮的:storm每秒可以擴增大量的訊息。 為了擴增topology,你需要做的就是增加機器並提高topology的並行設定。作為storm's可伸縮的例子,storm最初用例的乙個就是:10個節點的集群每秒可以處理1,000,000條訊息,其中還包含每秒鐘數百個資料庫呼叫。storm使用zookeeper進行集群合作可以使集群擴充套件到粳稻集群尺寸。

3、保證無資料丟失:實時系統必須具有很強的保證---資料必須成功處理。丟失資料的系統用處很有限。storm保證:每條訊息都將處理,這與其他系統的直接對比---例如s4。

4、很強的魯棒性:不像類似於hadoop的系統,難於管理簡直是臭名昭著,storm集群就只是工作。這是storm專案潛在的目標:使使用者盡可能**的管理storm集群。

5、容錯性:如果運算中出現錯誤,storm可以按照需要恢復tasks。storm保證運算可以永久執行(知道你殺掉運算)。

6、語言無關的程式設計:魯棒性和可伸縮性實時處理不應該限制在單一的平台。storm topologies以及處理元件可以使用任何語言定義,使得storm可以被任何人使用。

Storm基本原理

過去的十年見證了資料處理領域的一次革命。mapreduce,hadoop以及其它相關的技術使得我們可以儲存與處理的資料達到了過去想都不敢想的量級。不幸的是,這些資料處理技術並不能用於實時系統。本身這些技術也不是為了用於實時系統而生的。我們也沒有任何方式可以將hadoop改造以用於實時系統 實時資料處...

Storm基本原理概念及基本使用

離線計算 批量獲取資料 批量傳輸資料 週期性批量計算資料 資料展示 代表技術 sqoop批量匯入資料 hdfs批量儲存資料 mapreduce批量計算資料 hive批量計算資料 流式計算 資料實時產生 資料實時傳輸 資料實時計算 實時展示 代表技術 flume實時獲取資料 kafka metaq實時...

Storm基本原理概念及基本使用

離線計算 批量獲取資料 批量傳輸資料 週期性批量計算資料 資料展示 代表技術 sqoop批量匯入資料 hdfs批量儲存資料 mapreduce批量計算資料 hive批量計算資料 流式計算 資料實時產生 資料實時傳輸 資料實時計算 實時展示 代表技術 flume實時獲取資料 kafka metaq實時...