Storm的基本概念
- Topology:拓扑,也俗称一个任务,类似于MapReduce中的job。将Spout、Bolt整合起来的拓扑图。定义了Spout和Bolt的结合关系、并发数量、配置等等。
- Spout:拓扑的消息源,源源不断的发送元组数据Tuple
- Bolt:拓扑的处理逻辑单元。消费Tuple的节点。消费后可能会排出新的Tuple到该Stream上,也可能会排到到其他Stream,也或者根本不排。可并发。
- Tuple:消息元组,元组数据的抽象接口,可以是任何类型的数据。但是必须要可序列化。
- Stream:数据流,Tuple的集合。一个Stream内的Tuple拥有相同的源。
- Stream grouping:数据流的分组策略
- Task:任务处理单元
- Executor:工作线程
- Worker:工作进程
- Configuration:topology的配置.Storm里面有一堆参数可以配置来调整Nimbus, Supervisor以及正在运行的topology的行为,一些配置是系统级别的,一些配置是topology级别的。default.yaml里面有所有的默认配置。你可以通过定义个storm.yaml在你的classpath里来覆盖这些默认配置。并且你也可以在代码里面设置一些topology相关的配置信息(使用StormSubmitter)。