1. storm集群启动后,nimbus进程、supervisor进程,分别向zookeeper进行注册
- nimbus做为服务方,往zookeeper对应目录写job配置信息文件
- supervisor做为客户端,监控zookeeper对应的目录
2. 通过strom client客户端提交job到nimbus,其中包括:
- 指定spout、bolt实现类,以及并行数量
- 各个spout、bolt的依赖关系和分组关系
- Storm配置信息、运行方式(如:服务器提交或本地提交)
3. nimbus收到客户提交的Job请求信息后,按storm集群的配置信息,以及当前集群上空闲的worker信息,进行任务分配,将任务分配给supervisor,并将上述信息进行序列化,存储到zookeeper集群上,其中序列化的信息包括:
- 由哪几台supervisor(机器),启动多少个worker,多少并行线程数
- superviso和worker对应的ip地址和端口号
- job程序
4. zookeeper监控到nimbus的写文件操作后,发送事件通知所有supervisor,对应的supervisor收到事件通知后,去zookeeper指定目录获取worker和job信息,并启动相应数量的worker和Exectuor(一般情况下,一个Executor对应一个Task任务,一个Task可以是一个spout对象实例或一个bolt对象实例)
5. Executor启动后,通过spout去读取数据源(数据源可能是:消息中间件、数据库、文件等数据)
6. 在上一步的基础上,spout读取外部数据源信息,通过调用nextTuple方法,进行任务处理,然后将处理结果发送给Topology程序,Topologyt程序由Storm框架将结果发往Storm的消息队列,然后Storm框架去消费队列中的一个消息,然后去调用下一个依赖的bolt,通过反序列化将Topology对象信息传bolt对象,然后去调用bolt的execute方法进行处理
7. Exeutor按照spout和bolt的依赖关系,持续处理数据,直接到整个Topology执行结束(在Storm中通过UI界面或Storm命令结束Topology)
- 大小: 121.3 KB
- 大小: 146.3 KB
- 大小: 151.6 KB
分享到:
相关推荐
2.2 **Bolt**:Bolt是Storm处理逻辑的核心组件,可以进行数据过滤、聚合、计算等操作。 2.3 **Spout**:Spout是数据源,它可以连接到外部数据源,例如Kafka、数据库或其他实时数据流。 2.4 **Stream Groupings**:...
Storm由多个组件构成,包括调度系统和通信模型。调度系统负责任务分配和资源管理,而通信模型则确保节点间的高效通信。 2.1.1 调度系统 Storm使用Master-Slave架构,其中Nimbus负责任务调度和分配,Supervisors...
下面我们将深入探讨Storm的核心组件、工作原理以及它在大数据处理中的作用。 1. **核心组件**: - **Nimbus**:作为主控服务器,负责任务调度和资源分配,确保拓扑结构的正确部署。 - **Supervisor**:运行在工作...
#### 四、Storm核心组件详解 - **Nimbus**:Nimbus是Storm集群的核心组件之一,负责整个集群的管理和协调工作,包括任务调度、故障恢复等。Nimbus通过Zookeeper来实现状态同步和集群协调。 - **Supervisor**:...
Storm是一个开源的分布式实时...总结来说,"storm的jar包"是Storm实时处理框架的基础,包含了运行和开发Storm应用所需的所有组件和库。通过深入理解和使用这个JAR包,开发者可以构建出高效、可靠的实时数据处理系统。
对于新手开发者来说,理解Storm的运行机制至关重要。Storm采用Master-Slave架构,Nimbus作为Master负责任务调度,Supervisor作为Slave执行具体的计算任务。数据流(Stream)由Spout产生,经过一系列Bolt进行处理,...
【storm demo】是一个基于Apache Storm的实践项目,旨在教授如何运用Storm的核心组件——Spout、Bolt和Topology来构建实时数据处理系统。Apache Storm是一个开源的分布式实时计算系统,能够处理大量的流数据,并保证...
Apache Storm是一个分布式的实时...以上内容整合了Storm的核心概念、组件、关键机制和高级特性。这些知识点是Storm用户在构建实时大数据处理应用时必须要掌握的,以便于更有效地设计和部署复杂的分布式实时计算系统。
Storm的核心组件包括Spout和Bolt。Spout是数据源,它可以是从Kafka、Twitter等外部系统拉取数据,也可以是生成随机数据。Bolt则是处理逻辑的封装,负责数据清洗、聚合、过滤等操作。用户通过编写Spout和Bolt的代码,...
本笔记主要围绕Storm的核心概念、起源、架构、组件、原理以及应用场景进行详细讲解。 **一、Storm概念** Storm设计的目标是使实时数据处理变得简单易用,它可以连续处理无限的数据流,提供低延迟和高吞吐量的处理...
Storm 0.9.0版本相较于后续版本可能有些过时,但它的核心原理和操作方式对于理解Storm的工作机制仍然非常有用。学习和掌握这个版本可以帮助你更好地理解分布式实时计算系统的设计与实现,为进一步研究更新的版本或...
Storm的核心部分采用Clojure语言编写,外围则使用Java。 **1.1 主要特点** - **低延迟和高性能**:Storm设计用于处理高频率、低延迟的数据流,可以处理每秒数百万条消息。 - **分布式和可扩展**:Storm可以在多个...
3. **编写拓扑**:在Java代码中定义拓扑结构,这是Storm的核心概念。一个拓扑包含多个 bolts(处理数据的组件)和 spouts(数据源)通过流连接在一起。例如,你可以创建一个简单的WordCount拓扑,从spout读取文本,...
这个JAR包是Storm的核心组件,包含了运行Storm集群所需的库和类。 在描述中,"storm0.9.0jar包"的简单重申暗示了我们将关注这一特定版本的Storm。0.9.0版本是Storm发展历史中的一个重要里程碑,它可能引入了一些新...
1. **Storm架构**:Storm的核心组件包括nimbus(主控节点)、supervisor(工作节点)、worker进程、spout(数据源)和bolt(处理逻辑)。Nimbus负责任务调度,Supervisor管理worker进程,worker运行spout和bolt实例...
Storm的核心组件包括:Nimbus(主控节点)、Supervisor(工作节点)、Worker进程以及Spout和Bolt。Nimbus负责任务调度,Supervisor管理worker进程,而worker则执行实际的计算任务。Spout是数据源,负责生成数据流;...
总结来说,"Kerberos之后 storm UI"意味着在安全环境中,我们需要理解如何配置和使用Kerberos来保护Storm UI,并且storm-jmxetric是一个关键组件,它使得在Kerberos保护下依然能有效监控Storm集群的JMX指标。...
1. **Apache Storm架构**:Storm的核心组件包括Nimbus(主控节点)、Supervisor(工作节点)、Worker进程、Spout(数据源)和Bolt(处理组件)。Nimbus负责任务调度,Supervisor管理worker进程,worker运行用户代码...
- 配置ZooKeeper集群,因为ZooKeeper是Storm用于状态管理的核心组件。 - 对集群的资源使用进行规划,包括内存和CPU的分配。 ***ology的部署与管理: - 掌握Topology的打包、提交、停止、更新和监控的流程。 - ...
- Storm 的核心架构包括 Spouts 和 Bolts,通过这些组件可以构建复杂的实时数据流处理管道。 - 主控节点 Nimbus 和工作节点 Supervisor 是 Storm 集群的关键组成部分,它们分别负责任务调度和工作分配。 - **1.3.4...