Apache Storm簡介


什麼是Apache Storm?

Apache Storm是一個分散式即時大數據處理系統。 Storm設計用於在容錯和水平可擴展方法中處理大量資料。它是一個流資料框架,具有最高的攝取率。雖然Storm是無狀態的,它透過Apache ZooKeeper管理分散式環境和叢集狀態。它很簡單,您可以並行地對即時資料執行各種操作。

Apache Storm繼續成為即時資料分析的領導者。 Storm易於設定和操作,並且它保證每個訊息將透過拓撲至少處理一次。

Apache Storm vs Hadoop

基本上Hadoop和Storm框架用於分析大數據。兩者互補,在某些方面有所不同。 Apache Storm執行除持久性之外的所有操作,而Hadoop在所有方面都很好,但滯後於即時計算。下表比較了Storm和Hadoop的屬性。

##即時串流處理#批次處理。 具有/不具有基於ZooKeeper的協調的主 - 從結構。主節點是,從節點是。 Storm流過程在叢集上每秒可以存取數萬個訊息。 Hadoop分散式檔案系統(HDFS)使用MapReduce框架來處理大量的數據,需要幾分鐘或幾小時。 MapReduce作業依序執行並最終完成。
StormHadoop
「即時串流處理
無狀態有狀態主/從架構與基於ZooKeeper的協調。主節點稱為nimbus,從屬節點是主管
作業追蹤器任務追蹤器
Storm拓撲運行直到用戶關閉或意外的不可恢復故障。
兩者都是分散式和容錯的
####如果nimbus / supervisor死機,重新啟動使它從它停止的地方繼續,因此沒有什麼受到影響。 ######如果JobTracker死機,所有正在執行的作業都會遺失。 ############

使用Apache Storm的例子

Apache Storm對於即時大數據流處理非常有名。因此,大多數公司都將Storm用作其係統的一個組成部分。一些值得注意的例子如下 -

Twitter - Twitter正在使用Apache Storm作為其「發布商分析產品」。 「發布商分析產品」處理Twitter平台中的每個tweets和點擊。 Apache Storm與Twitter基礎架構深度整合。

NaviSite - NaviSite正在使用Storm進行事件日誌監控/稽核系統。系統中產生的每個日誌都將通過Storm。 Storm將根據配置的正規表示式集檢查訊息,如果存在匹配,那麼該特定訊息將保存到資料庫。

Wego - Wego是位於新加坡的旅行元搜尋引擎。旅行相關數據來自世界各地的許多來源,時間不同。 Storm幫助Wego搜尋即時數據,解決並發問題,並為最終用戶找到最佳匹配。

Apache Storm優點

以下是Apache Storm提供的好處清單:

  • Storm是開源的,強大的,用戶友好的。它可以用於小公司和大公司。

  • Storm是容錯的,靈活的,可靠的,並且支援任何程式語言。

  • 允許即時串流處理。

  • Storm是令人難以置信的快,因為它具有巨大的處理資料的力量。

  • Storm可以透過線性增加資源來維持效能,即使在負載增加的情況下也是如此。它是高度可擴展的。

  • Storm在幾秒鐘或幾分鐘內執行資料刷新和端對端傳送回應取決於問題。它具有非常低的延遲。

  • Storm有操作智能。

  • Storm提供保證的資料處理,即使群集中的任何連接的節點死或訊息遺失。