`

一、基础概念

阅读更多
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
分享到:
评论

相关推荐

    新概念第一册MP3+LRC字幕

    因此,利用新概念第一册的MP3+LRC资源,不仅可以提升个人的英语水平,也是为编程事业打下坚实基础的一个有效途径。 总的来说,"新概念第一册MP3+LRC字幕"是一套完整的英语学习资源,它结合了现代数字媒体技术与经典...

    地基基础工程的概念设计(深圳).pptx

    地基基础工程的概念设计是建筑工程领域中的重要环节,它涉及到建筑物的安全、稳定和经济性。在设计过程中,首要目标是确保地基基础能满足建筑物的承载力需求和变形控制要求。设计通常包括三个步骤:概念设计、具体...

    新东方新概念英语第一册笔记

    总体来说,新东方新概念英语第一册是一套全面的初级英语教程,不仅教授词汇和语法,更注重语音训练和实用语境下的表达,旨在帮助学习者全面提升英语听说读写能力,为更高阶段的学习打下坚实基础。通过这样的系统学习...

    java与web基础概念

    java与web基础概念

    第二章 第二节:阿里云物联网平台基础概念讲解.pdf

    基于STM32节点和阿里云IoT平台 的物联网应用开发 系列课程 第二章 阿里云IoT平台介绍 课程内容下载、观看 • 视频观看:AI电堂、阿里云大学IoT课堂 ...• 第二节:物联网平台基础概念讲解 • 介绍设备与平台相关概念

    OpenCV学习笔记(基础概念,归纳总结)

    作为一名 IT 行业大师,我将从基础概念出发,向您介绍 OpenCV 的学习笔记,涵盖图像处理的基础概念、图像处理技术、图像预处理、图像分割、边缘检测、形状描述等方面的知识点。 基础概念 * 图像(Image):是一个...

    一级注册结构工程师基础部分及参考书.pdf

    本资源是关于一级注册结构工程师基础部分的考试大纲,涵盖了高等数学、普通物理、普通化学、建筑材料、理论力学、材料力学、结构力学、流体力学、土力学与地基基础、工程测量、结构设计、建筑施工与管理、结构试验、...

    新东方新概念英语学习笔记(1-4册)

    新东方新概念英语学习笔记是英语学习者们的一份宝贵资料,它涵盖了新概念英语教材的全部四个级别,从第一册的基础入门到第四册的高级进阶,为学习者提供了全面而深入的学习指导。这份资源的出现,无疑为英语学习者...

    C#基础概念教程

    C#入门级的书籍 本书重点讲解OOP的概念性问题 结合大量代码示例 详细讲解了什么是类 对象 属性 字段 方法 构造方法 析构 是一本相当好用的C#基础学习书籍 如果想对OOP中的概念有较全面的了解的话 那么这本书就足够你...

    Java程序设计基础:数组的概念.pptx

    问题2:在上例的基础上,如果要求统计出有多少人达到了平均分,并输出达到平均分的学生成绩呢? 采用另一种变量结构,能存放批量数据——数组。 数组的基本概念 数组是一种数据结构,在内存中连续存放。 用来存放...

    车载电子电器架构 —— 基础技术概念开发.docx

    #### 一、基础技术概念介绍 在车载电子电器架构中,基础技术概念对于整个系统的开发至关重要。这部分内容将详细介绍与基础技术相关的各个概念及其作用。 - **Specification (规范)**: 规范是定义车载电子系统各个...

    中职数学基础模块下册数列的概念PPT学习教案.pptx

    "中职数学基础模块下册数列的概念PPT学习教案.pptx" 本PPT学习教案旨在帮助学生理解数列的概念,通过创设情景、引入概念、观察归纳、讨论探究、深化概念、巩固新知等步骤,逐步引导学生掌握数列的定义、分类、表示...

    导航原理:第5讲-惯性导航基础概念3.pptx

    惯性导航的基础概念包括向量与矩阵计算、四元数与方向余弦、比力方程及舒勒原理等。 向量与矩阵计算是惯性导航的基础数学工具。一个向量可以表示为列矩阵形式,例如,地面某点至地心的位置向量可以写成如下形式: ...

    新概念英语1-4册单词表

    在学习新概念英语的过程中,掌握单词是基础,而正确发音则是关键。利用这个压缩包中的资源,你可以按照自己的节奏和方法,通过听、说、读、写全方位地提升英语水平。首先,可以熟悉并掌握音标,然后利用单词表进行...

    新概念(1-4册)课文

    第一册《新概念英语1》(nce1)主要是为初学者设计的,它以日常生活情境中的简单对话和短文为主,帮助学习者建立起基本的英语语感和词汇基础。TXT格式的文件让你能够轻松查阅每个课时的内容,无论是在电脑、手机还是...

    深度学习基础概念幼儿教育案例介绍

    内容概要:本资料通过几个简单的...使用场景及目标:旨在降低深度学习的认知门槛,使深奥难懂的知识能够通俗易通,培养孩子们的兴趣爱好并促进其思维的发展,从而让幼儿也能初步认识并理解这一概念及其实质作用所在。无

    基础概念篇

    标题中的“基础概念篇”可能指的是对信息技术领域中的一些基本概念进行阐述,这些概念是学习和理解IT技术的基础。在IT行业中,基础概念包括但不限于计算机硬件、操作系统原理、编程语言、网络通信、数据库管理、数据...

    大数据基础(思维导图)

    大数据基础知识的思维导图

    蓝牙mesh基础概念讲解(中文版)

    下面详细解析蓝牙mesh的一些基础概念。 网状网(Mesh)网络是一种复杂的网络结构,其中每个设备节点(device node)都可以与其他节点自由通讯。在蓝牙mesh网络中,多个节点可以作为中继,帮助发送信息。这就意味着...

Global site tag (gtag.js) - Google Analytics