Topology运行的秘密:关于worker,executor和task

全文参考官方文档:http://storm.apache.org/releases/2.0.0-SNAPSHOT/Understanding-the-parallelism-of-a-Storm-topology.html

storm的topology结构

Storm定义了三种不同维度的组件来共同维持topology的运行,他们是
- worker
- executor(thread)
- task
这里写图片描述
上图已经把互相之间的关系表述的非常清楚了,这里再补充一个简单的算数关系:

Task的数量 ≥ Executor的数量≥Worker的数量≥topology的数量

在代码中修改topology的并行参数

下面介绍下如何在代码中配置上述的几个参数。
Worker
首先这是一个Topology的参数,所以显然应该到Config中找,有这个Config.setNumWorkers()方法可用。
Executor
通过TopologyBuilder.setSpout() 和TopologyBuilder.setBolt() 的parallelism_hint参数来设置。
Task
通过ComponentConfigurationDeclarer.setNumTasks()

动态修改topology的并行参数

除了在代码中指定上述的参数之外,还可以动态对他们进行配置而不用重启整个集群。要这么做,需要用到CLI工具。
下面是使用CLI的一个简单例子

## 指定mytopology使用5个worker进程
## 指定blue-spout使用3个executor
## 指定yello-bolt使用10个Executor

$ storm rebalance mytopology -n 5 -e blue-spout=3 -e yellow-bolt=10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值