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中用來定義數據流的分發策略的組件,可以指定數據流的分發方式,比如隨機分發、分區分發、全局分發等。