Storm安裝 1、啟動zookeeper集群 2、上傳解壓storm包 3、進入解壓包,配置conf目錄下的storm.yaml文件 a) 這裡配置zookeeper節點,可以用ip或者功能變數名稱 b) 配置nimbus.host作為主節點名 1、將解壓的storm包分發到各個節點 2、scp -r a ...
Storm安裝
1、啟動zookeeper集群
2、上傳解壓storm包
3、進入解壓包,配置conf目錄下的storm.yaml文件
a) 這裡配置zookeeper節點,可以用ip或者功能變數名稱
b) 配置nimbus.host作為主節點名
1、將解壓的storm包分發到各個節點
2、scp -r apache-storm-0.9.4 root@slave2:/opt/sxt/soft/
3、進去安裝目錄,新建一個log目錄
4、啟動
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埠能看到界面
Storm的配置文件各個選項及釋義
配置選項名稱 |
配置選項作用 |
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的服務埠 |
Storm分組策略
(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。