-
Grouping方式
查看全部 -
環(huán)境搭建:
1.下載安裝zookeeper
2.生成一個(gè)新的配置文件 zoo.cfg
3.修改配置文件:vi zookeeper-3.4.6/conf/zoo.cfg
添加以下內(nèi)容:
tickTime=2000
dataDir=/Users/dev/zookeeper-3.4.6/data
clientPort=2181
4.進(jìn)入zookeeper目錄: cd zookeeper-3.4.6
5.啟動(dòng)zookeeper服務(wù): sh bin/zkServer.sh start
6.查看運(yùn)行狀態(tài):echo stat | nc 127.0.0.1 2181
zookeeper集群版配置:
1.生成zoo.cfg.cluster文件,vi zoo.cfg.cluster
內(nèi)容如下:
tickTime=2000
dataDir=/Users/dev/zookeeper-3.4.6/data
clientPort=2181
server.1=xx.xx.xx.xx:2182
server.2=xx.xx.xx.xx:2182
server.3=xx.xx.xx.xx:2182
syncLimit=2
initLimit=5
2.創(chuàng)建新文件 vi myid
內(nèi)容如下:
1
3.在每臺(tái)安裝zookeeper的機(jī)器上啟動(dòng)服務(wù)即可
啟動(dòng)storm
1.進(jìn)入storm文件:cd apache-storm-0.9.5
2.啟動(dòng)storm服務(wù):
nohup bin/storm nimbus &
nohup bin/storm supervisor &
nohup bin/storm ui &
3.訪問:http://localhost:8080/index.html
4.集群模式下,需要更改配置文件 vi conf/storm.yaml, 修改zk配置
提交一個(gè)jar包到storm:
1.查看文件:ls examples/storm-starter/
2.提交jar: ./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.5.jar storm.starter.WordCountTopology wordcount
3.訪問http://localhost:8080/index.html 就能看到
4.關(guān)閉命令:./bin/storm kill wordcount
查看全部 -
數(shù)據(jù)可靠性:
Nimbus掛掉,換臺(tái)機(jī)器重啟就可
supervisor掛掉,將上面的worker遷移走就可以
worker掛掉,利用ack機(jī)制保證數(shù)據(jù)未處理成功,會(huì)通知spout重新發(fā)送.需要對記錄通過msgId進(jìn)行去重.也就是spout發(fā)送tuple時(shí)指定msgId,
spout也掛掉: 可以將數(shù)據(jù)記錄到外部存儲(chǔ),設(shè)置checkpoint。查看全部 -
task數(shù)邏輯數(shù),就是前面設(shè)置的.setNumTasks(7)<br>
worker是進(jìn)程數(shù)
executor是表示線程數(shù)查看全部 -
循環(huán)運(yùn)行了100次,而且有7個(gè)并發(fā),所有每個(gè)單詞的數(shù)量都是700的倍數(shù)
查看全部 -
Spout繼承BaseRichSpout 并包含幾個(gè)方法(聲明字段、初始化、數(shù)據(jù)讀取和輸出)
Spout中 nextTuple方法:隨機(jī)讀取String sentence中的句子通過_collector.emit(next)發(fā)送給下游查看全部 -
grouping:
隨機(jī)發(fā)送
按一定規(guī)則發(fā)送
strom: kafka-->數(shù)據(jù)源結(jié)點(diǎn)spout多個(gè)(數(shù)據(jù)來源,發(fā)送一個(gè)個(gè)Tuple給到bolt,同樣的Tuple會(huì)發(fā)到同樣的bolt),普通計(jì)算結(jié)點(diǎn)bolt(可調(diào)用其它語言腳本,如java,python)多個(gè)(計(jì)算完可以持久化到數(shù)據(jù)庫),數(shù)據(jù)流stream,記錄Tuple。
Hdfs: Mapper從hdfs中讀取數(shù)據(jù)并計(jì)算,進(jìn)行整理后(同一個(gè)word一定落到同一個(gè)reduce里)發(fā)送給reduce-再發(fā)送給hdfs查看全部 -
$ cd apache-storm-0.9.5
$ cd examples/storm-starter/
$ mv test
$ mvn exec:java "-Dstorm.topology=storm.starter.WordCountTopology"
查看全部 -
storm作業(yè)提交運(yùn)行流程
1.用戶編寫storm Topolgy(wordCountTopology) 一個(gè)用戶作業(yè)
2.使用client提交Topolgy給nimbus
3.nimbus提派Task給supervisor
4.supervisor為task啟動(dòng)worker
5.worker執(zhí)行task
--------------------------
storm采用主從結(jié)構(gòu),主Nimbus和多個(gè)從Supervisor,Nimbus只負(fù)責(zé)管理性的工作單點(diǎn)問題必須保證主節(jié)點(diǎn)是無狀態(tài)的,重啟就能恢復(fù),相關(guān)元數(shù)據(jù)配置信息都是存儲(chǔ)在zookeeper上。Supervisor主要聽Nimbus的話管理啟動(dòng)和監(jiān)控worker, worker是真正干活的進(jìn)程負(fù)責(zé)數(shù)據(jù)傳輸和計(jì)算.
-------------------------------
Storm 主從結(jié)構(gòu)
Nimbus 主節(jié)點(diǎn),只負(fù)責(zé)整體分配工作,不具體干活
Supervisor 從節(jié)點(diǎn),維護(hù)每臺(tái)機(jī)器,直接管理干活的Worker
Worker ?真正干活的(task)進(jìn)程,數(shù)據(jù)計(jì)算和傳輸
DRPC ?
Storm UI 監(jiān)控WEB
運(yùn)行流程
用戶編寫作業(yè)
使用客戶端提交給Nimbus
Nimbus指派Task給Supervisor
Supervisor 為task啟動(dòng)Worker
Worker 執(zhí)行Task查看全部 -
Google發(fā)明的幾篇論文解決了各個(gè)公司升級服務(wù)器的弊端,
分布式框架三篇論文;
? ?google file system
? ?bigTable
? ?MapReduce
流式計(jì)算和批量計(jì)算:
目前有些人希望通過同一API解決批量計(jì)算和流式計(jì)算:
Summer bird
Clouddataflow? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 批量計(jì)算 ? ? ? ? ? ? ? ? ? ? 流式計(jì)算
數(shù)據(jù)到達(dá) ? ? ? 計(jì)算開始前數(shù)據(jù)已準(zhǔn)備好 ? ? ? ? ? 計(jì)算進(jìn)行中數(shù)據(jù)持續(xù)到來
計(jì)算周期 ? ? ? 計(jì)算完成后會(huì)結(jié)束計(jì)算 ? ? ? ? ? ? 一般會(huì)作為服務(wù)持續(xù)運(yùn)行
使用場景 ? ? ? 時(shí)效性要求低的場景 ? ? ? ? ? ? ? 時(shí)效性要求高的場景查看全部 -
storm走也提交運(yùn)行流程
查看全部 -
huh查看全部
-
Storm主從結(jié)構(gòu)
查看全部 -
批量計(jì)算與流式計(jì)算的區(qū)別
查看全部 -
我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13
我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13
我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13
我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13
我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13我的筆記test13
查看全部 -
我的筆記test13
查看全部 -
我的筆記test12
查看全部 -
我的筆記test11
查看全部 -
我的筆記test10
查看全部
舉報(bào)