流式處理框架之Storm

Storm 機器學習 Hadoop 大數據 GDCA數安時代 GDCA數安時代 2017-09-14

什麼是 Storm

Storm是一個免費開源、分佈式、高容錯的實時計算系統。Storm令持續不斷的流計算變得容易,彌補了Hadoop批處理所不能滿足的實時要求。Storm經常用於在實時分析、在線機器學習、持續計算、分佈式遠程調用和ETL等領域。Storm的部署管理非常簡單,而且,在同類的流式計算工具,Storm的性能也是非常出眾的。

流式處理框架之Storm

Storm的特性

Storm可以處理大批量的數據,在保證高可靠性的前提下還可以讓處理進行的更加實時,所有的信息都會被處理。

Storm還具備容錯和分佈計算這些特性,可以擴展到不同的機器上進行大批量的數據處理

易於擴展。對於擴展,你只需要添加機器和改變對應的topology(拓撲)設置。Storm使用Hadoop Zookeeper進行集群協調,這樣可以充分的保證大型集群的良好運行。

每條信息的處理都可以得到保證。

Storm集群管理簡易。

Storm的容錯機能:一旦topology遞交,Storm會一直運行它直到topology被廢除或者被關閉。而在執行中出現錯誤時,也會由Storm重新分配任務。

儘管通常使用Java,Storm中的topology可以用任何語言設計。

storm 架構的優點

Storm 實現的一些特徵決定了它的性能和可靠性的,Storm 使用 Netty 傳送消息,這就消除了中間的排隊過程,使得消息能夠直接在任務自身之間流動,在消息的背後,是一種用於序列化和反序列化 Storm 的原語類型的自動化且高效的機制。

Storm 的一個最有趣的地方是它注重容錯和管理,Storm 實現了有保障的消息處理,所以每個元組(Turple)都會通過該拓撲(Topology)結構進行全面處理;如果發現一個元組還未處理,它會自動從Spout處重發,Storm 還實現了任務級的故障檢測,在一個任務發生故障時,消息會自動重新分配以快速重新開始處理。Storm 包含比 Hadoop 更智能的處理管理,流程會由zookeeper來進行管理,以確保資源得到充分使用。

簡單編程,在大數據處理方面相信大家對hadoop已經耳熟能詳,基於Google Map/Reduce來實現的Hadoop為開發者提供了map、reduce原語,使並行批處理程序變得非常地簡單和優美。同樣,Storm也為大數據的實時計算提供了一些簡單優美的原語,這大大降低了開發並行實時處理的任務的複雜性,幫助你快速、高效的開發應用。

多語言支持,除了用java實現spout和bolt,你還可以使用任何你熟悉的編程語言來完成這項工作,這一切得益於Storm所謂的多語言協議。多語言協議是Storm內部的一種特殊協議,允許spout或者bolt使用標準輸入和標準輸出來進行消息傳遞,傳遞的消息為單行文本或者是json編碼的多行。

支持水平擴展,在Storm集群中真正運行topology的主要有三個實體:工作進程、線程和任務。Storm集群中的每臺機器上都可以運行多個工作進程,每個工作進程又可創建多個線程,每個線程可以執行多個任務,任務是真正進行數據處理的實體,我們開發的spout、bolt就是作為一個或者多個任務的方式執行的。因此,計算任務在多個線程,進程和服務器之間並行進行,支持靈活的水平擴展。

容錯性強,如果在消息處理過程中出了一些異常,Storm會重新安排這個出問題的處理單元,Storm保證一個處理單元永遠運行(除非你顯式殺掉這個處理單元)。

可靠性的消息保證 Storm可以保證spout發出的每條消息都能被“完全處理”。

快速的消息處理,用Netty作為底層消息隊列, 保證消息能快速被處理。

本地模式,支持快速編程測試。

Storm應用

Storm 有許多應用領域,包括實時分析、在線機器學習、信息流處理(例如,可以使用Storm 處理新的數據和快速更新數據庫)、連續性的計算(例如,使用Storm 連續查詢,然後將結果返回給客戶端,如將微博上的熱門話題轉發給用戶)、分佈式RPC(遠過程調用協議,通過網絡從遠程計算機程序上請求服務)、ETL(Extraction Transformation Loading,數據抽取、轉換和加載)等。

Storm 的處理速度驚人,經測試,每個節點每秒可以處理100 萬個數據元組。Storm 可擴展且具有容錯功能,很容易設置和操作。Storm 集成了隊列和數據庫技術,Storm 拓撲網絡通過綜合的方法,將數據流在每個數據平臺間進行重新分配。


流式處理框架之Storm

GDCA一直以“構建網絡信任體系,服務現代數字生活”的宗旨,致力於提供全球化的數字證書認證服務。其自主品牌——信鑑易®TrustAUTH® SSL證書系列,為涉足互聯網的企業打造更安全的生態環境,建立更具公信力的企業網站形象。

文章轉載:https://www.trustauth.cn/wiki/21400.html

相關推薦

推薦中...