一、前述
Storm是一個流式處理框架,相比較於SparkStreaming是一個微批處理框架,hadoop是一個批處理框架。
二 、搭建流程
1.叢集規劃
Nimbus Supervisor Zookeeper
node01 1
node02 1 1
node03 1 1
node04 1 1
2.配置
node01作為nimbus。
vim conf/storm.yaml
storm.zookeeper.servers: - "node02" - "node03" - "node04" storm.local.dir: "/tmp/storm" nimbus.host: "node01" supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
PS:supervisor.slots.ports 相當於啟動4個worker程式
配置一定要頂格寫!!!!!!!
3.建立log檔案
在storm目錄中建立logs目錄
mkdir logs啟動ZooKeeper叢集
4.啟動服務
node1上啟動Nimbus
./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
tail -f logs/nimbus.log
./bin/storm ui >> ./logs/ui.out 2>&1 &
tail -f logs/ui.log
節點node02和node03,node04啟動supervisor,按照配置,每啟動一個supervisor就有了4個slots
./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
tail -f logs/supervisor.log
(當然node1也可以啟動supervisor)
http://node1:8080/
提交任務到Storm叢集當中執行:
./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.4.jar storm.starter.WordCountTopology test
環境變數可以配置也可以不配置
export STORM_HOME=/opt/sxt/storm
export PATH=$PATH:$STORM_HOME/bin