Storm基本概念

来源:互联网 发布:淘宝苹果id代充 编辑:程序博客网 时间:2024/05/21 09:40


Nimbus:负责资源分配和任务调度
Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程
Worker:运行具体处理组件逻辑的进程
Task:worker中每一个spout/bolt的线程成为一个task,在storm 0.8之后,task不再与物理
线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程成为executor
storm结构图:
Topology:storm中运行的一个实时应用程序,因为各个组件间的消息流动形成逻辑上的一个
拓扑结构。
Spout:在一个topology中产生源数据流的组件。通常情况下spout会从外部数据源中读取数据,
然后转换为topology内部的源数据。Spout是一个主动的角色,其接口中有一个nextTuple函数,storm
框架会不停的调用此函数,用户只需要在其中生成源数据即可。
Bolt:在一个topology中接受数据然后执行处理的组件,Bolt可以执行过滤、函数操作、合并、写数据库等任何操作
Bolt是一个被动的角色,其接口中有个execute(Tuple t)函数,在接收到消息后会调用此函数
,用户可以在其中执行自己想要的操作。
Tuple:一次消息传递的基本单元,本来应该是一个key-value的map,但是由于各个组件间传递的tuple的字段名称已经实现定义
好,所以tuple中只要按序填入各个value即可,所以是一个valueList.
Stream:源源不断传递的tuple就组成了Stream.

0 0
原创粉丝点击