Storm原理

2018-10-19  本文已影响0人  无尾君

一、架构

Nimbus -> Zookeeper -> Supervisor -> Worker

Nimbus:Master节点,分发代码,指派给具体的 Supervisor节点上的 Worker 节点,运行 Topology对应的组件(Spout/Bolt)的 Task;

Supervisor:从节点,管理运行每一个Worker进程的启动和种植。

Worker:运行具体处理组建逻辑的进程。任务类型有两种:Spout 和 Bolt

Task:每一个 Spout/Bolt的线程称为一个 Task。

Zookeeper:协调 Nimbus 和 Supervisor

二、编程模型

Storm在运行中可分为 Spout 和 Bolt两个组件。数据源从 Spout 开始,数据以 tuple 的方式发送到 Bolt,多个 Bolt 可以串连。一个 Bolt也可接入多个 Spout /Bolt。

Topology:Storm中运行的一个实时应用程序的名称。将 Spout、Bolt整合起来的拓扑图。

Spout:在一个 Topology 中获取源数据流的组件。

Bolt:接收数据然后执行处理的组件

Tuple:一次消息传递的基本单元,一组消息就是一个 Tuple

Stream:Tuple的集合,表示数据的流向。

三、Topology运行

在 Storm中,一个实时应用的计算任务被打包成 Topology 发布,由不同的 Spouts 和 Bolts 通过 Stream 连接起来的”图“。一个 Storm 在集群上运行一个 Topology 时,主要通过以下 3 个实体来完成 Togology 的执行工作:

(1)、Worker

(2)、Executor

(3)、Task

上一篇下一篇

猜你喜欢

热点阅读