共計 1228 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇文章給大家分享的是有關 JStorm 原理以及應用場景是怎樣的,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
JStorm 是一個類似 Hadoop MapReduce 的系統,用戶按照指定的接口實現一個任務,然后將這個任務遞交給 JStorm 系統,JStorm 將這個任務跑起來,并且按 7 * 24 小時運行起來,一旦中間一個 Worker 發生意外故障,調度器立即分配一個新的 Worker 替換這個失效的 Worker。
因此,從應用的角度,JStorm 應用是一種遵守某種編程規范的分布式應用。從系統角度,JStorm 是一套類似 MapReduce 的調度系統。從數據的角度,JStorm 是一套基于流水線的消息處理機制。
實時計算現在是大數據領域中最火爆的一個方向,因為人們對數據的要求越來越高,實時性要求也越來越快,傳統的 Hadoop MapReduce,逐漸滿足不了需求,因此在這個領域需求不斷。
Storm 組件和 Hadoop 組件對比
StormHadoop 角色 NimbusJobTracker SupervisorTaskTracker WorkerChild 應用名稱 TopologyJob 編程接口 Spout/BoltMapper/Reducer 優點
在 Storm 和 JStorm 出現以前,市面上出現很多實時計算引擎,但自 Storm 和 JStorm 出現后,基本上可以說一統江湖:究其優點:
開發非常迅速:接口簡單,容易上手,只要遵守 Topology、Spout 和 Bolt 的編程規范即可開發出一個擴展性極好的應用,底層 RPC、Worker 之間冗余,數據分流之類的動作完全不用考慮
擴展性極好:當一級處理單元速度,直接配置一下并發數,即可線性擴展性能
健壯強:當 Worker 失效或機器出現故障時,自動分配新的 Worker 替換失效 Worker
數據準確性:可以采用 Ack 機制,保證數據不丟失。如果對精度有更多一步要求,采用事務機制,保證數據準確。
應用場景
JStorm 處理數據的方式是基于消息的流水線處理,因此特別適合無狀態計算,也就是計算單元的依賴的數據全部在接受的消息中可以找到,并且最好一個數據流不依賴另外一個數據流。
因此,常常用于
日志分析,從日志中分析出特定的數據,并將分析的結果存入外部存儲器如數據庫。目前,主流日志分析技術就使用 JStorm 或 Storm
管道系統,將一個數據從一個系統傳輸到另外一個系統,比如將數據庫同步到 Hadoop
消息轉化器,將接受到的消息按照某種格式進行轉化,存儲到另外一個系統如消息中間件
統計分析器,從日志或消息中,提煉出某個字段,然后做 count 或 sum 計算,最后將統計值存入外部存儲器。中間處理過程可能更復雜。
以上就是 JStorm 原理以及應用場景是怎樣的,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。