不多说,直接上干货!

Worker、Task、Executor三者之间的关系

Storm集群中的一个物理节点启动一个或者多个Worker进程,集群的Topology都是通过这些Worker进程运行的。

然而,Worker进程中又会运行一个或者多个Executor线程,每个Executor线程只运行一个Topology的一个组件(Spout或Bolt)的Task任务,Task又是数据处理的实体单元。

Worker是进程,Executor对应于线程,Spout或Bolt是一个个的Task;

同一个Worker只执行同一个Topology相关的Task;

在同一个Executor中可以执行多个同类型的Task,即在同一个Executor中,要么全部是Bolt类的Task,要么全部是Spout类的Task;

在运行时,Spout和Bolt需要包装成一个又一个Task。

Worker、Task、Executor之间的关系如图1所示。

图1     Worker、Task、Executor三者之间的关系

storm程序主要由spout和bolt组成的。spout和bolt在运行期间会生成task实例(new Spout或者new bolt)。

那这些task实例是需要在线程(executor)里面运行的,而线程是需要在进程(worker)里面执行的。

进一步,见

worker进程和task进程区别_worker进程和task进程区别_Storm概念学习系列之Worker、Task、Executor三者之间的关系......相关推荐

  1. java map与set的区别_java 集合(list,set,map)三者之间的关系和区别

    原 java 集合(list,set,map)三者之间的关系和区别 一:先上一张关系图,让大家看的更明白. 备注:其中红色部分为实现,其他地方均为接口. 二:各自的特点. List 有序,可重复Arr ...

  2. 栈,队列和链表三者之间的关系与区别

    最近一直在学习算法,刷算法题,但是自从大学毕业以来,数据结构的知识都还给老师了,只会个数组,所以前期刷的题目也都是有关数组的 最近跟着小册重学了一遍数据结构,今天就记录一下栈,队列和链表三者之间的关系 ...

  3. JavaSE、JavaEE、JavaME三者之间的关系与区别

    Java 平台有三个版本,这使软件开发人员.服务提供商和设备生产商可以针对特定的市场进行开发: Java SE (Java Platform,Standard Edition).Java SE 以前称 ...

  4. 睡眠、休眠、混合睡眠三者之间的关系与区别

    1.先说一下"最古老"的待机:电脑待机待机(Standby):将系统切换到该模式后,除了内存,电脑其他设备的供电都将中断,只有内存依靠电力维持着其中的数据(因为内存是易失性的,只要 ...

  5. Python3多进程与多线程区别及使用(1.进程)

    进程和线程 参考:https://www.cnblogs.com/renzhuang/articles/6733461.html 是什么: 进程是指在系统中正在运行的一个应用程序:程序一旦运行就是进程 ...

  6. Linux进程描述符task struct结构体详解--Linux进程的管理与调度(一)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 日期 内 ...

  7. 进程和线程的区别?什么时候用进程?什么时候用线程?----看到好的复制到自己的园子里哈哈...

    进程和线程的区别?什么时候用进程?什么时候用线程? 答:首先得知道什么是进程什么是线程? 我的理解是进程是指在系统中正在运行的一个应用程序:程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的 ...

  8. 进程和线程的区别?什么时候用进程?什么时候用线程?

    首先得知道什么是进程什么是线程? 我的理解是进程是指在系统中正在运行的一个应用程序:程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的一个实例. 线程是进程的一个实体. 进程--资源分配的最 ...

  9. 程序与进程的区别,并发与并行的区别,多进程的实现原理

    目录 1. 什么是进程 2. 进程与程序的区别 3. 并发与并行 4. 同步\异步and阻塞\非阻塞(重点) 5. 进程的创建(了解) 6. 进程的终止(了解) 7. 进程的层次结构 8. 进程的状态 ...

最新文章

  1. CreateProcess返回错误998
  2. Metal之简单渲染动态切换屏幕颜色
  3. Linux驱动中获取系统时间
  4. static_cast, dynamic_cast, const_cast学习和探讨
  5. ftp put 550 Access is denied
  6. Jupyter简易上手的安装与使用教程
  7. 我最喜欢的二十句名言
  8. oracle 获取执行时间间隔,Oracle获取某一段时间间隔之后的日期
  9. 100以内的偶数的个数_10以内数字的奇偶性认识
  10. 从数据到代码——通过代码生成机制实现强类型编程[上篇]
  11. Helm 3 完整教程(十五):Helm 函数讲解(9)网络函数、文件路径函数、类型检查函数
  12. Android Theme主题继承(SDK下主题和v7包下主题)
  13. IIS架设FTP服务器图文教程
  14. 吴恩达机器学习作业代码(python)
  15. v8声卡调音软件_V8声卡的福音! V8声卡用什么机架VST插件声卡调试?
  16. Linux上的arping命令介绍
  17. VMware虚拟机安装WIN7操作系统
  18. 万能收钱码-多合一收款二维码原理及源码-支持支付宝、微信、QQ
  19. 车内看车头正不正技巧_侧方位停车把把入库技巧,驾校没教的中途修正方法很实用...
  20. 双击事件(dblclick)时,不触发单击事件(click)

热门文章

  1. 数字化转型太太太难?AI、IoT 重拳出击!
  2. @程序员,让8年京东架构师为你解析云原生监控和日志解决方案!
  3. 一场全能的开发者大会,来自助力开发者成功进阶的华为云
  4. 硬核黑科技告诉你,漫威十年到底有多少个角色?
  5. 常见六大 Web 安全攻防解析 | 技术头条
  6. 京东末位淘汰 10% 高管:稳定不是常态,淘汰才是
  7. 雅虎辉煌不再,紫色血液永存
  8. 被全球 iPhone 用户讨伐 49 天后,苹果终于为 iOS 带来手动关闭降频功能!
  9. 如何实现分布式锁?赶紧收藏备战金三银四!
  10. 给2021的Java一些建议,纯干货