Storm的核心组件有以下几个:
Nimbus:Nimbus是Storm集群的主节点,负责分配拓扑任务给Supervisor节点,监控任务的执行情况,并负责重新调度失败的任务。
Supervisor:Supervisor节点是Storm集群中的工作节点,负责执行Nimbus分配给它的任务,它会启动和管理Worker进程来执行具体的数据处理任务。
Zookeeper:Zookeeper是Storm集群中用来做分布式协调和配置管理的工具,它在Storm中主要用来协调Nimbus和Supervisor节点之间的通信和任务分配。
Topology:Topology指的是Storm中数据流处理的拓扑结构,包括Spout和Bolt等组件,并且定义了数据流的处理逻辑。
Spout:Spout是Topology中的数据源组件,负责从外部数据源中读取数据并将数据发送给Bolt进行处理。
Bolt:Bolt是Topology中的数据处理组件,负责对接收到的数据进行处理,并将处理结果发送给下一个Bolt或者Sink。
Stream Grouping:Stream Grouping是Storm中用来定义数据流的分发策略的组件,可以指定数据流的分发方式,比如随机分发、分区分发、全局分发等。