动态设置拓扑的并发度
Storm支持在不重启topology的情况下,动态的改变(增减)worker process的数目和executor的数目,称为rebalancing。有两种方式可以实现拓扑的再平衡:(1)使用Storm Web UI
(2)使用Storm rebalance命令(推荐使用)使用命令行的方式如下:
# 重新配置拓扑
# "topoName" 拓扑使用5个Worker进程
# "blue-spout" Spout使用3个Executor# "yellow-bolt" Bolt使用10个Executor
storm rebalancetopoName-n 5 -e blue-spout=3 -e yellow-bolt=10
注:"topoName"是拓扑的名称,"blue-spout"和"yellow-bolt"是组件的名称。
命令需要在nimibus上运行
Storm 提交topology./storm jar /lib/cae.jar com.neusoft.soc.topology.main ginoyTopology
注意:
#com.neusoft.soc.topology.main jar包入库方法
# ginoyTopology 为topo名称
Storm kill
你可以使用 -w参数来调整 Storm 在注销与关闭拓扑之间的间隔时间。
storm kill topology-name [-w wait-time-secs]
storm killginoyTopology 10
Activate
storm activate topology-name
激活运行指定拓扑的所 spout。
Deactivate
storm deactivate topology-name
停止指定拓扑的所 spout 的运行。
Nimbus
storm nimbus
启动 nimbus 后台进程。
命令需要在supervisor上运行
Supervisorstorm supervisor
启动 supervisor 后台进程
后台启动 supervisor logviewer
(1)nohup /opt/apps_install/apache-storm-0.9.5/bin/storm supervisor > /dev/null 2>&1 &
(2)nohup /opt/apps_install/apache-storm-0.9.5/bin/storm logviewer > /dev/null 2>&1 &
cd /home/storm-0.9.0.1/bin
./storm nimbus > /home/data/storm/out/nimbus.out2>&1 &
./storm supervisor > /home/data/storm/out/supervisor.out2>&1 &
./storm ui > /home/data/storm/out/ui.out2>&1 &
./storm logviewer > /home/data/storm/out/logviewer.out2>&1 &
./storm drpc > /home/data/storm/out/drpc.out2>&1 &
##启动storm集群
在storm1上:
nohup storm nimbus >/dev/null 2>&1 &
nohup storm supervisor >/dev/null 2>&1 &
nohup storm ui >/dev/null 2>&1 &
nohup storm drpc >/dev/null 2>&1 &
nohup storm logviewer >/dev/null 2>&1 &
在storm2上:
nohup storm supervisor >/dev/null 2>&1 &
nohup storm logviewer >/dev/null 2>&1 &
在storm3上:
nohup storm supervisor >/dev/null 2>&1 &
nohup storm logviewer >/dev/null 2>&1 &