Strom學習筆記(一)

來源:互聯網
上載者:User

標籤:

Storm是個即時的、分布式以及具備高容錯的計算系統。同Hadoop一樣Storm也可以處理大批量的資料,然而Storm在保證高可靠性的前提下還可以讓處理進行的更加即時;也就是說,所有的資訊都會被處理。 Storm同樣還具備容錯和分布計算這些特性,這就讓Storm可以擴充到不同的機器上進行大批量的資料處理。Storm 與Hadoop異同1、Strom服務已經開啟除非認為關閉,否者不會停止,?2、即時:storm延時低,storm資料在記憶體中,hadoop資料使用磁碟作為交換介質。
3、storm延時低 storm 資料在記憶體中,網路直傳,記憶體計算,省去了批處理時間。4、storm輸送量不及hadoop。不適合批處理。 Storm叢集主要由一個主節點和一群工作節點(worker node)組成,通過 Zookeeper進行協調。
Storm繫結構簡圖: • 主節點:
• 主節點通常運行一個背景程式 —— Nimbus,用於響應分布在叢集中的節點,分配任務和監測故障。這
個很類似於Hadoop中的Job Tracker。
• 工作節點:
• 工作節點同樣會運行一個背景程式 —— Supervisor,用於收聽工作指派並基於要求運行背景工作處理序。每個
工作節點都是topology中一個子集的實現。而Nimbus和Supervisor之間的協調則通過Zookeeper系統或
者叢集。
• Zookeeper
• Zookeeper是完成Supervisor和Nimbus之間協調的服務。而應用程式實現即時的邏輯則被封裝進Storm
中的 “ topology” 。 topology則是一組由Spouts(資料來源)和Bolts(資料操作)通過Stream
Groupings進行串連的圖。下面對出現的術語進行更深刻的解析。
• Spout:
• 簡而言之,Spout從來源處讀取資料並放入topology。 Spout分成可靠和不可靠兩種;當Storm接收失敗
時,可靠的Spout會對 tuple(元組,資料項目組成的列表)進行重發;而不可靠的Spout不會考慮接收成
功與否只發射一次。而Spout中最主要的方法就是 nextTuple(),該方法會發射一個新的tuple到
topology,如果沒有新tuple發射則會簡單的返回。
• Bolt:
• Topology中所有的處理都由Bolt完成。 Bolt可以完成任何事,比如:串連的過濾、彙總、訪問檔案/資料
庫、等等。 Bolt從Spout 中接收資料並進行處理,如果遇到複雜流的處理也可能將tuple發送給另一個Bolt
進行處理。而Bolt中最重要的方法是execute(),以新的 tuple作為參數接收。不管是Spout還是Bolt,
如果將tuple發射成多個流,這些流都可以通過declareStream()來聲明。
Topology– –計算邏輯的封裝– –由spouts和bolts組成的圖,通過stream grouping將圖中的spouts和bolts串連起來



 



Strom學習筆記(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.