jstorm rebalance动态调整Task和Worker

Storm可以支持topology任务的动态调整,动态调整包括Task和Worker两个维度

我用的jstorm2.1.0

命令格式为:

    jstorm rebalance [-r] TopologyName [DelayTime] [NewConfig]

   例如 : jstorm rebalance -r SequenceTest conf.yaml


   参数说明:
   -r: 对所有task做重新调度,注意不加-r不能重新分配
   TopologyName: Topology任务的名字
   DelayTime: 开始执行动态调整的延迟时间,默认是5分钟

   NewConfig: Spout, Bolt, Acker, Worker的新配置(官网说当前仅支持yaml格式的配置文件,看代码支持后缀prop和yaml)



conf.yaml定义为如下格式,注意并发数要定义成json格式,可以不写全部的只写需要调整的bolt

topology.workers: 4
topology.acker.executors: 4


topology.spout.parallelism:{
 "spout1" : 2
}
topology.bolt.parallelism:{
 "bolt1" : 8,
 "bolt2" : 2
}


执行命令后不要急,命令里么有写DelayTime的话,默认总共会经历2个五分钟才完成调整,我们看看nimbus日志,发现

首先提示

Begin to rebalance noticewait_time:null, reassign: true, new worker/bolt configuration:{"topology.workers":1,"topology.bolt.parallelism":{"calc":6}}

Delaying event rebalancing for 300 secs for notice-1-1481825179

。。。

然后等待5分钟后开始正式进行rebanlance了,日志会显示重新分配的并发信息,新增了worker拉,并发数变成多少啦,然后会再次出现

Delaying event rebalancing for 300 secs for notice-1-1481825179

再过5分钟就调整完成了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值