1个worker进程运行的是1个topology的子集(注:不会出现1个worker为多个topology服务)。1个worker进程会启动1个或多个executor线程来运行1个topology的component(spout或bolt)。因此。1个运行中的topology就是由集群中多台物理机上的多个worker进程组成的。





executor是1个被worker进程启动的单独线程。每一个executor仅仅会执行1个topology的1个component(spout或bolt)的task(注:task能够是1个或多个,storm默认是1个component仅仅生成1个task,executor线程里会在每次循环里顺序调用全部task实例)。





task是终于执行spout或bolt中代码的单元(注:1个task即为spout或bolt的1个实例,executor线程在执行期间会调用该task的nextTuple或execute方法)。topology启动后。1个component(spout或bolt)的task数目是固定不变的。但该component使用的executor线程数能够动态调整(比如:1个executor线程能够执行该component的1个或多个task实例)。

这意味着。对于1个component存在这种条件:#threads<=#tasks(即:线程数小于等于task数目)。默认情况下task的数目等于executor线程数目,即1个executor线程仅仅执行1个task。

默认情况下,一个supervisor节点会启动4个worker进程。

每一个worker进程会启动1个executor。每一个executor启动1个task。

最新文章

  1. openstack云5天资料
  2. JavaScript学习07 内置对象
  3. 解决SVN不显示状态图标
  4. iframe 使用
  5. RecyclerView中显示不同的item
  6. eclipse 点击 open Implementation就退出eclipse
  7. 【转】FragmentTest学习笔记1
  8. quick-x 2.2.5 DragonBones 某些fla导出使用后player卡死
  9. php学习之路:WSDL详细解释(两)
  10. jenkins 杀死衍生进程
  11. pyinstaller 打包生成exe之后运行提示‘no module name &#39;xxx&#39;’错误
  12. NAT资料
  13. 用Pyinstaller 实现py.转化为exe可执行文件----二维码实例
  14. jquery.cropper 裁剪图片上传
  15. fuzhou 1075 分解素因子
  16. OC extern和变量
  17. readonly const关键字
  18. python_random模块
  19. bzoj 4784: [Zjoi2017]仙人掌【tarjan+树形dp】
  20. (转载) 据说年薪30万的Android程序员必须知道的

热门文章

  1. [ HAOI 2008 ] 玩具取名
  2. cmd 切换目录和配置环境变量
  3. 转 IDEA 解决代码提示功能消失
  4. #2028 Lowest Common Multiple Plus
  5. String数据类型转换
  6. SQLServer bigint 转 int带符号转换函数(原创)
  7. 12、scala函数式编程集合
  8. CAD绘制一个箭头(com接口)
  9. vue中fetch请求
  10. UGUI世界坐标转换为UI本地坐标(游戏Hud的实现)