1.Storm的总体结构
Storm中设计的术语包括 Stream、Spout、Bolt、Worker、Executor、Task、Stream Grouping 、Topology,基本概念如下:
- Stream是被处理的数据
- Spout是数据源
- Bolt封装了数据处理逻辑
- Worker是工作进程。一个工作进程包含一个或多个Executor线程
- Executor是运行Spout或Bolt处理逻辑的线程
- Task是Storm中的最小处理单元。一个Executor中包含一个多个Task,消息的分发都是从一个Task到另一个Task进行的
- Stream Grouping 定义了消息分发策略,定义了Bolt节点以何种方式接收数据。消息可以随机分配(Shuffle Grouping,随机分组),或者根据字段值分组(Fields Grouping,字段分组),或者广播(All Grouping,全局分组),也可以不关心数据是如何分组的(None Grouping,无分组),或者由自定义逻辑来决定,即有消息发送者决定应该有消息接收者组件的那个Task来处理消息(Direct Grouping,直接分组)
- Topology是由消息分组方式连接起来的Spout和Bolt的节点网络,它定义了运算逻辑的拓扑结构,处理的是不断流动的消息。除非杀掉Topology,否则它将永远运行下去。
1.1 Spout与Bolt关系
2.Storm中的节点
2.1
Storm集群中存在两种类型的节点。
运行Nimbus服务的主节点和运行Supervisor服务的工作节点。
Storm集群由一个主节点和多个工作节点组成。
主节点上运行一个名称“Nimbus”的守护进程,用于分配代码、布置任务及检测故障。
每个工作节点则运行一个名称“Supervisor”的守护进程,用于监听工作、开始并终止工作进程。
Nimbus和Supervisor都能快速失败并恢复,而且他们是无状态的,其元数据存储在Zookeeper中,这使得系统具有很高的容错性。Nimbus与Supervisor之间的协调工作是通过Zookeeper来完成的。
Worder由Supervisor来启动,一个Worker中可以有多个Executor线程,每个Executor中又可以包含一个或多个Task。Task为Storm中最小处理单元。它是Topology组件诸多并行度中的一个。每个Executor都会启动一个消息循环线程,用于接受、处理和发送消息。当Executor接收到属于其下某一个Task的消息后,就会调用该Task对应的处理逻辑对消息进行处理。
在逻辑上,Storm中消息的来源节点被称为Spout,消息的处理节点被称为GBolt.在系统中,可以存在多个Spout和Bolt,且每个Spout和Bolt都可以设置不同的并行度。
2.1 关系
3.开发过程中常用的类
- BaseRichSpout (消息生产者)
- BaseBasicBolt (消息处理者)
- TopologyBuilder (拓扑的构建器)
- Values (将数据存放到values ,发送到下个组件)
- Tuple(发送的数据被封装到Tuple,可以通tuple接收上个组件发送的消息)
- Config (配置)
- StormSubmitter / LocalCluster (拓扑提交器)
参考书籍:
1.《Storm源码分析》李明、王晓鹏编著,人民邮电出版社
2.其他网络资源
- 大小: 54.5 KB
- 大小: 18 KB
- 大小: 30.1 KB
分享到:
相关推荐
精通Ajax——基础概念、核心技术与典型案例 人民邮电出版社 本书主要介绍Ajax技术的组成元素,涉及JavaScript、CSS、DOM、XMLHTTP和XML等内容,其中详细介绍了JavaScript客户端语言,它是Ajax技术的核心组成,是...
Godot引擎开发:VR基础概念与设置_(10).优化VR性能与体验.docx Godot引擎开发:VR基础概念与设置_(11).常见问题与解决方案.docx Godot引擎开发:VR基础概念与设置_(12).GodotVR项目实战案例分析.docx Godot...
在当代教育中,数学作为基础学科之一,对儿童的思维训练...随着孩子们对这一基础概念的理解加深,他们在今后的数学学习中将能够更加自信地面对挑战,为他们未来在科学、技术、工程和数学领域的深入学习打下坚实的基础。
这一基础概念不仅能够帮助学生理解数与数之间的关系,还能够为他们未来在更高级别数学学习中解决复杂问题打下良好的基础。本文将从这一知识点出发,详细介绍其重要性,并通过具体的教学实例和练习题来阐述如何让学生...
在小学一年级的数学教学中,"和的组成"是一个基础且重要的概念。...通过这一系列的教学活动,学生不仅学会了"和的组成"这一基础概念,还培养了解决实际问题的能力,为他们日后的数学学习奠定了坚实的基础。
这是一篇讲解机器视觉的基础型学习资料,教您如何选型相机与镜头。里面介绍了光学放大倍率 ,工作距离, WD ,焦距,f ,景深,DOF ,分辨率, Resolution ,镜头接口 ,数值孔径, NA ,F数, F No/f-number ,最大兼容...
因此,利用新概念第一册的MP3+LRC资源,不仅可以提升个人的英语水平,也是为编程事业打下坚实基础的一个有效途径。 总的来说,"新概念第一册MP3+LRC字幕"是一套完整的英语学习资源,它结合了现代数字媒体技术与经典...
首先,让我们聚焦于轴对称这一基础概念。轴对称意味着图形通过沿着一条直线(即对称轴)折叠后,能与自身完全重合。轴对称图形的特性在于其对称轴的数量可以是一个或多个。例如,一条直线显然有一条对称轴,等边...
综上所述,进阶练习二不仅帮助学生巩固了倍数这一基础概念,更重要的是,它通过一系列的思维训练题目,让学生在实践中学会如何运用和灵活变换所学知识。这种通过实践和思考来学习数学的方法,不仅能提高学生的学习...
在初中数学的教学中,对于学生来说,理解并掌握基础概念是至关重要的。数学是一门系统性、逻辑性极强的学科,每...因此,学生和教育工作者都应该重视初中数学基础概念的教学和学习,使之成为学生成长道路上的一盏明灯。
总体来说,新东方新概念英语第一册是一套全面的初级英语教程,不仅教授词汇和语法,更注重语音训练和实用语境下的表达,旨在帮助学习者全面提升英语听说读写能力,为更高阶段的学习打下坚实基础。通过这样的系统学习...
在初步介绍中,PPT课件将引导学习者认识向量这一基础概念。向量是描述物理空间中具有大小和方向的量,它是线性代数中最基本的元素之一。通过向量的加法、减法和标量乘法这些基础运算,学习者可以感受到数学语言的...
基于STM32节点和阿里云IoT平台 的物联网应用开发 系列课程 第二章 阿里云IoT平台介绍 课程内容下载、观看 • 视频观看:AI电堂、阿里云大学IoT课堂 ...• 第二节:物联网平台基础概念讲解 • 介绍设备与平台相关概念
第一讲:PR的软件介绍与基础概念.xmind
本资源是关于一级注册结构工程师基础部分的考试大纲,涵盖了高等数学、普通物理、普通化学、建筑材料、理论力学、材料力学、结构力学、流体力学、土力学与地基基础、工程测量、结构设计、建筑施工与管理、结构试验、...
LoRa技术讲义 - 第一篇:基础概念与原理.md
新概念英语一册笔记针对的是英语基础薄弱的学习者,其教学目标是帮助学生建立起英语学习的基本框架。通过对基础语法和词汇的系统学习,配合以生动的故事和生活化的对话,学习者可以在较为轻松的氛围中逐步培养起英语...
问题2:在上例的基础上,如果要求统计出有多少人达到了平均分,并输出达到平均分的学生成绩呢? 采用另一种变量结构,能存放批量数据——数组。 数组的基本概念 数组是一种数据结构,在内存中连续存放。 用来存放...
#### 一、基础技术概念介绍 在车载电子电器架构中,基础技术概念对于整个系统的开发至关重要。这部分内容将详细介绍与基础技术相关的各个概念及其作用。 - **Specification (规范)**: 规范是定义车载电子系统各个...