1.Nimbus
- Storm的Mster,负责资源分配和任务调度,一个Storm集群只有一个Nimbus。
- 集群的主节点,对整个集群的资源使用情况进行管理。
- 但是nimbus是一个无状态的节点,所有的一切都储存在Zookeeper.
2.Supervisor
- Storm的Sjava,负责接收Nimbus分配的任务,管理说有的Worker。
- 一个Supervisor节点中包含多个Worker进程。默认是4个
- 一般情况下一个topology对应一个worker。
3.Worker
- 工作进程,每个工作进程中都有多个Task。
4.Task
- 在Storm集群中每个Spout和Bolt都由若干个任务(tasks)来执行。
- worker(进程)中没一个spout/bolt的线程称为一个task
- 同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor
5.Storm的并行机制
- Topolpgy由一个或多个Spout/Bolt组件构成,运行中的Topolpgy由一个或多个Supervisor节点中的Worker构成
- 默认情况下一个Supervisor节点运行4个worker,由defaults.yaml/storm.yaml中的属性决定。
- worker未特定拓扑的一个或多个组件spout/bolt产生一个或多个executor,默认情况下一个worker运行一个executor
- Executor为特定拖布的一个或多个组件Spout/Bolt实例运行一个或多个Task,默认情况下一个Executor运行一个task。