http://www.jstorm.io/
https://github.com/alibaba/
應(yīng)用場(chǎng)景
==》日志分析市栗,從日志中分析出特定的數(shù)據(jù)跋选,并將分析的結(jié)果存入外部存儲(chǔ)器如數(shù)據(jù)庫(kù)垮兑。目前族檬,主流日志分析技術(shù)就使用JStorm或Storm
管道系統(tǒng)硬鞍, 將一個(gè)數(shù)據(jù)從一個(gè)系統(tǒng)傳輸?shù)搅硗庖粋€(gè)系統(tǒng)聚至, 比如將數(shù)據(jù)庫(kù)同步到Hadoop
==》消息轉(zhuǎn)化器酷勺, 將接受到的消息按照某種格式進(jìn)行轉(zhuǎn)化,存儲(chǔ)到另外一個(gè)系統(tǒng)如消息中間件
==》統(tǒng)計(jì)分析器扳躬, 從日志或消息中脆诉,提煉出某個(gè)字段,然后做count或sum計(jì)算贷币,最后將統(tǒng)計(jì)值存入外部存儲(chǔ)器击胜。中間處理過(guò)程可能更復(fù)雜。
==》實(shí)時(shí)推薦系統(tǒng)役纹, 將推薦算法運(yùn)行在jstorm中偶摔,達(dá)到秒級(jí)的推薦效果
Jstorm 結(jié)構(gòu)圖
各種組件代表的含義
Nimbus: 資源調(diào)度角色
Supervisor: 接受nimubs 任務(wù)安排,啟動(dòng)任務(wù)
Worker: 進(jìn)程
Executor: 執(zhí)行線程
Task: 執(zhí)行邏輯單元(Spout促脉,Bolt)
安裝Jstorm
還是官網(wǎng)全
http://120.25.204.125/QuickStart_cn/Deploy/Standalone.html
(1)解壓安裝包
(2)配置文件 storm.yaml
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"
storm.zookeeper.root: "/jstorm"
cluster.name: "chh_test"
nimbus.host: "master"
storm.local.dir: "%JSTORM_HOME%/data"
supervisor.slots.ports:
- 6800
- 6801
- 6802
- 6803
在當(dāng)前機(jī)器辰斋,一般是nimbus策州,也就是提交jar包的機(jī)器上執(zhí)行如下命
令:
mkdir ~/.jstorm
cp storm.yaml ~/.jstorm/
(3)啟動(dòng)zookeeper ./bin/zkServer.sh start
(4)確保安裝了python以上 和java7.0以上
(5)配置storm ui管理界面
拷貝war包到webapp目錄
創(chuàng)建軟鏈文件,作為默認(rèn)項(xiàng)目
mv ROOT ROOT.old
ln -s jstorm-ui-2.1.1 ROOT
(5)啟動(dòng)Jstorm
#主節(jié)點(diǎn)
nohup bin/jstorm nimbus &
#從節(jié)點(diǎn)
nohup bin/jstorm supervisor &
查看是否啟動(dòng)
查看結(jié)果
http://192.168.0.200:8080/