Storm弹性计算:实时调整Topology并发数

原创文章,如需转载,请注明出处:http://blog.csdn.net/jmppok/article/details/17143373


Storm计算以topology为单位,topology提交到Storm集群中运行后,通过storm rebalance 命令可对topology进行动态调整。比如增加Topology的worker数,修改Bolt,Spout的并行执行数量 parallelism等,从而实现topology的动态调整,达到弹性计算的目的。(当然调整时要配合监控模块)


可通过storm help rebalance 获取rebalance的帮助信息:

ligh@ubuntu:~/workspace/storm_drpc_test/bin$ storm help rebalance
Syntax: [storm rebalance topology-name [-w wait-time-secs] [-n new-num-workers] [-e component=parallelism]*]

    Sometimes you may wish to spread out where the workers for a topology 
    are running. For example, let's say you have a 10 node cluster running 
    4 workers per node, and then let's say you add another 10 nodes to 
    the cluster. You may wish to have Storm spread out the workers for the 
    running topology so that each node runs 2 workers. One way to do this 
    is to kill the topology and resubmit it, but Storm provides a "rebalance" 
    command that provides an easier way to do this.

    Rebalance will first deactivate the topology for the duration of the 
    message timeout (overridable with the -w flag) and then redistribute 
    the workers evenly around the cluster. The topology will then return to 
    its previous state of activation (so a deactivated topology will still 
    be deactivated and an activated topology will go back to being activated).
    
    The rebalance command can also be used to change the parallelism of a running topology.
    Use the -n and -e switches to change the number of workers or number of executors of a component
    respectively.
    

基本上主要有两种用法:

1) storm rebalance  topology-name -n   new-work-num,

  调整指定topology的worknum。

2)storm rebalance topology-name -e  component=parallelism

  调整指定topology中指定component的并行数量.

你可能感兴趣的:(storm,topology,弹性计算,动态调整)