storm概述、叢集安裝和簡單的命令列操作
http://storm.apache.org
Apache Storm是一個免費的開源分散式實時計算系統。Storm可以輕鬆可靠地處理無限資料流,實現Hadoop對批處理所做的實時處理。Storm非常簡單,可以與任何程式語言一起使用,並且使用起 來很有趣!
Storm有許多用例:實時分析,線上機器學習,連續計算,分散式RPC,ETL等。風暴很快:一個基準測試表示每個節點每秒處理超過一百萬個元組。它具有可擴充套件性,容錯性,可確保您的資料得到處 理,並且易於設定和操作。
Storm集成了您已經使用的排隊和資料庫技術。
Storm拓撲消耗資料流並以任意複雜的方式處理這些流,然後在計算的每個階段之間重新劃分流。閱讀教程中的更多內容。
離線計算是什麼?
批量獲取資料、批量的傳輸資料、批量的儲存資料、週期性計算資料、資料視覺化
flume批量獲取資料、sqoop批量傳輸、hdfs/hive/hbase批量儲存、mr/hive計算資料、BI
實時計算是什麼?
資料實時產生、資料實時傳輸、資料實時計算、實時展示 flume實時獲取資料、kafka實時資料儲存、Storm/JStorm實時計算、實時展示(dataV/quickBI)
hadoop storm
角色: JobTracker Nimbus
TaskTracker Supervisor
Child Worker
應用名稱: Job Topology
程式設計介面: Mapper/Reducer Spout/Bolt
storm程式設計模型
tuple:元祖
是訊息傳輸的基本單位
Spout:水龍頭
storm的核心抽象,拓撲的流的來源。Spout通常從外部資料來源讀取資料。轉換為拓撲內部的源資料。
主要方法:nextTuple() 發出一個新的元祖到拓撲
ack()
fail()
Bolt:轉接頭
Bolt是對流的處理節點。Bolt作用:過濾、業務、連線運算。
Topology:拓撲
是一個實時的應用程式
永遠執行,除非被殺死。
Spout到Bolt是一個連線流。。。
安裝叢集
1、準備工作
2、下載安裝包
3、上傳
4、解壓
5、配置
vi storm.yaml
storm.zookeeper.servers:
- "bigdata"
# - "server2"
# 設定主節點的主機名稱
nimbus.seeds: ["bigdata"]
storm.local.dir: "/Library/bigdata/apache-storm-1.0.3/tmp"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
6、啟動
zkServer.sh start
storm nimbus &
storm supervisor &
storm ui
storm命令列操作
1、檢視命令幫助
storm help
2、檢視版本
storm version
3、執行storm程式
storm jar [路徑/.jar][全類名][拓撲名稱]
4、產看當前正在執行拓撲及其狀態
storm list
5、終止拓撲程式
storm kill [拓撲名稱]
6、啟用指定的拓撲程式
storm activate [拓撲名稱]
7、禁止拓撲程式
storm deactivate [拓撲名稱]