2121SC@SDUSC
一、项目分工:
我们组将STORM分为以下11个部分:Nimbus\Bolt\Zookeeper\Topology\Excutor\Supervisor\Woker\Task\Spout\Tuple\Stream groupings其中,我选择的部分为:Excutor,Tuple
二、项目简介:
(1)storm:
Storm是一个分布式的、容错的实时计算系统,它被托管在GitHub上。Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm也可被用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户,也可被用于“分布式RPC”,以并行的方式运行昂贵的运算。
Storm的主工程师Nathan Marz表示:Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比 Hadoop 用于批处理。Storm保证每个消息都会得到处理,而且它是非常快的,且可以使用任意编程语言来做开发。
(2)tuple:
tuple是一个类似于列表的东西,存储的每个元素叫做field(字段),可以是任何类型。
Storm使用tuple作为它的数据模型, 每个tuple是一堆值,每个值都有一个名字。
一个Tuple代表数据流中的一个基本处理单元,例如:一条cookie日志,他可以包含多个Field, 每个Field表示一个属性。
一个没有边界、源源不断的Tuple序列就组成了Stream。
(3)executor:
一个work进程,其实就是一个jvm虚拟机进程,在这个work进程里面有多个executor线程,每个executor线程会运行一个或多个task实例。一个task是最终完成数据处理的实体单元。
executor是1个被worker进程启动的单独线程。每个executor只会运行1个topology的1个component(spout或bolt)的task(注:task可以是1个或多个,storm默认是1个component只生成1个task,executor线程里会在每次循环里顺序调用所有task实例)。
借鉴资料:
百度百科——storm
https://blog.youkuaiyun.com/qq_38200548/article/details/85017394
https://blog.youkuaiyun.com/qq_27657429/article/details/86651399
STORM-综述及分工
最新推荐文章于 2025-05-23 16:35:44 发布