Storm术语简介

Storm术语简介

@[术语|storm]数据库

  • Nimbus:负责资源分配和任务调度。框架

  • Supervisor:负责接受nimbus分配的任务,启动和中止属于本身管理的worker进程。函数

  • Worker:运行具体处理组件逻辑的进程。线程

  • Task:worker中每个spout/bolt的线程称为一个task.在storm0.8以后,task再也不与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor。 role-relatecode

  • Topology:storm中运行的一个实时应用程序,由于各个组件间的消息流动造成逻辑上的一个拓扑结构。orm

  • Spout:在一个topology中产生源数据流的组件。一般状况下spout会从外部数据源中读取数据,而后转换为topology内部的源数据。Spout是一个主动的角色,其接口中有个nextTuple()函数,storm框架会不停地调用此函数,用户只要在其中生成源数据便可。接口

  • Bolt:在一个topology中接受数据而后执行处理的组件。Bolt能够执行过滤、函数操做、合并、写数据库等任何操做。Bolt是一个被动的角色,其接口中有个execute(Tuple input)函数,在接受到消息后会调用此函数,用户能够在其中执行本身想要的操做。进程

  • Tuple:一次消息传递的基本单元。原本应该是一个key-value的map,可是因为各个组件间传递的tuple的字段名称已经事先定义好,因此tuple中只要按序填入各个value就好了,因此就是一个value list.资源

  • Stream:源源不断传递的tuple就组成了stream。input

  • stream grouping:即消息的partition方法。Storm中提供若干种实用的grouping方式,包括shuffle, fields hash, all, global, none, direct和localOrShuffle等

相关文章
相关标签/搜索