一、啓動zookeeper集羣apache
二、上傳解壓storm包服務器
三、進入解壓包,配置conf目錄下的storm.yaml文件併發
a) 這裏配置zookeeper節點,能夠用ip或者域名ui
b) 配置nimbus.host做爲主節點名spa
一、將解壓的storm包分發到各個節點線程
二、scp -r apache-storm-0.9.4 root@slave2:/opt/sxt/soft/orm
三、進去安裝目錄,新建一個log目錄server
四、啓動blog
a) 啓動nimbus,./bin/storm nimbus >> logs/nimbus.out 2>&1 &進程
b) 在各個從節點啓動supervisor,./bin/storm supervisor >> logs/supervisor.out 2>&1 &
c) 啓動storm ui ,./bin/storm ui >> logs/ui.out 2>&1 &
訪問主節點的8080端口能看到界面
配置選項名稱 |
配置選項做用 |
topology.max.task.parallelism |
每一個Topology運行時最大的executor數目 |
topology.workers |
每一個Topology運行時的worker的默認數目,若在代碼中設置,則此選項值被覆蓋 |
storm.zookeeper.servers |
zookeeper集羣的節點列表 |
storm.local.dir |
Storm用於存儲jar包和臨時文件的本地存儲目錄 |
storm.zookeeper.root |
Storm在zookeeper集羣中的根目錄,默認是「/」 |
ui.port |
Storm集羣的UI地址端口號,默認是8080 |
nimbus.host: |
Nimbus節點的host |
supervisor.slots.ports |
Supervisor節點的worker佔位槽,集羣中的全部Topology公用這些槽位數,即便提交時設置了較大數值的槽位數,系統也會按照當前集羣中實際剩餘的槽位數來進行分配,當全部的槽位數都分配完時,新提交的Topology只能等待,系統會一直監測是否有空餘的槽位空出來,若是有,就再次給新提交的Topology分配 |
supervisor.worker.timeout.secs |
Worker的超時時間,單位爲秒,超時後,Storm認爲當前worker進程死掉,會從新分配其運行着的task任務 |
drpc.servers |
在使用drpc服務時,drpc server的服務器列表 |
drpc.port |
在使用drpc服務時,drpc server的服務端口 |
(1)ShuffleGrouping:隨機分組,隨機分發Stream中的tuple,保證每一個Bolt的Task接收Tuple數量大體一致;
(2)FieldsGrouping:按照字段分組,保證相同字段的Tuple分配到同一個Task中;(3)AllGrouping:廣播發送,每個Task都會受到全部的Tuple;(4)GlobalGrouping:全局分組,全部的Tuple都發送到同一個Task中,此時通常將當前Component的併發數目設置爲1;(5)NonGrouping:不分組,和ShuffleGrouping相似,當前Task的執行會和它的被訂閱者在同一個線程中執行;(6)DirectGrouping:直接分組,直接指定由某個Task來執行Tuple的處理,並且,此時必須有emitDirect方法來發送;(7)localOrShuffleGrouping:和ShuffleGrouping相似,若Bolt有多個Task在同一個進程中,Tuple會隨機發給這些Task。