Apache Storm是一個(gè)分布式實(shí)時(shí)大數(shù)據(jù)處理系統(tǒng)。Storm設(shè)計(jì)用于在容錯(cuò)和水平可擴(kuò)展方法中處理大量數(shù)據(jù)。它是一個(gè)流數(shù)據(jù)框架,具有最高的攝取率。雖然Storm是無狀態(tài)的,它通過Apache ZooKeeper管理分布式環(huán)境和集群狀態(tài)。它很簡單,您可以并行地對實(shí)時(shí)數(shù)據(jù)執(zhí)行各種操作。
Apache Storm繼續(xù)成為實(shí)時(shí)數(shù)據(jù)分析的領(lǐng)導(dǎo)者。Storm易于設(shè)置和操作,并且它保證每個(gè)消息將通過拓?fù)渲辽偬幚硪淮巍?/span>
基本上Hadoop和Storm框架用于分析大數(shù)據(jù)。兩者互補(bǔ),在某些方面有所不同。Apache Storm執(zhí)行除持久性之外的所有操作,而Hadoop在所有方面都很好,但滯后于實(shí)時(shí)計(jì)算。下表比較了Storm和Hadoop的屬性。
Storm | Hadoop |
---|---|
實(shí)時(shí)流處理 | 批量處理 |
無狀態(tài) | 有狀態(tài) |
主/從架構(gòu)與基于ZooKeeper的協(xié)調(diào)。主節(jié)點(diǎn)稱為nimbus,從屬節(jié)點(diǎn)是主管。 | 具有/不具有基于ZooKeeper的協(xié)調(diào)的主 - 從結(jié)構(gòu)。主節(jié)點(diǎn)是作業(yè)跟蹤器,從節(jié)點(diǎn)是任務(wù)跟蹤器。 |
Storm流過程在集群上每秒可以訪問數(shù)萬條消息。 | Hadoop分布式文件系統(tǒng)(HDFS)使用MapReduce框架來處理大量的數(shù)據(jù),需要幾分鐘或幾小時(shí)。 |
Storm拓?fù)溥\(yùn)行直到用戶關(guān)閉或意外的不可恢復(fù)故障。 | MapReduce作業(yè)按順序執(zhí)行并最終完成。 |
兩者都是分布式和容錯(cuò)的 | |
如果nimbus / supervisor死機(jī),重新啟動使它從它停止的地方繼續(xù),因此沒有什么受到影響。 | 如果JobTracker死機(jī),所有正在運(yùn)行的作業(yè)都會丟失。 |
Apache Storm對于實(shí)時(shí)大數(shù)據(jù)流處理非常有名。因此,大多數(shù)公司都將Storm用作其系統(tǒng)的一個(gè)組成部分。一些值得注意的例子如下 -
Twitter - Twitter正在使用Apache Storm作為其“發(fā)布商分析產(chǎn)品”。 “發(fā)布商分析產(chǎn)品”處理Twitter平臺中的每個(gè)tweets和點(diǎn)擊。 Apache Storm與Twitter基礎(chǔ)架構(gòu)深度集成。
NaviSite - NaviSite正在使用Storm進(jìn)行事件日志監(jiān)控/審計(jì)系統(tǒng)。系統(tǒng)中生成的每個(gè)日志都將通過Storm。Storm將根據(jù)配置的正則表達(dá)式集檢查消息,如果存在匹配,那么該特定消息將保存到數(shù)據(jù)庫。
Wego - Wego是位于新加坡的旅行元搜索引擎。旅行相關(guān)數(shù)據(jù)來自世界各地的許多來源,時(shí)間不同。Storm幫助Wego搜索實(shí)時(shí)數(shù)據(jù),解決并發(fā)問題,并為最終用戶找到最佳匹配。
下面是Apache Storm提供的好處列表:
Storm是開源的,強(qiáng)大的,用戶友好的。它可以用于小公司和大公司。
Storm是容錯(cuò)的,靈活的,可靠的,并且支持任何編程語言。
允許實(shí)時(shí)流處理。
Storm是令人難以置信的快,因?yàn)樗哂芯薮蟮奶幚頂?shù)據(jù)的力量。
Storm可以通過線性增加資源來保持性能,即使在負(fù)載增加的情況下。它是高度可擴(kuò)展的。
Storm在幾秒鐘或幾分鐘內(nèi)執(zhí)行數(shù)據(jù)刷新和端到端傳送響應(yīng)取決于問題。它具有非常低的延遲。
Storm有操作智能。
Storm提供保證的數(shù)據(jù)處理,即使群集中的任何連接的節(jié)點(diǎn)死或消息丟失。
更多建議: