`

一、基础概念

阅读更多
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——基础概念、核心技术与典型案例 人民邮电出版社 本书主要介绍Ajax技术的组成元素,涉及JavaScript、CSS、DOM、XMLHTTP和XML等内容,其中详细介绍了JavaScript客户端语言,它是Ajax技术的核心组成,是...

    Java基础概念

    面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多...

    新概念900句基础篇

    《新概念900句基础篇》是一款专为英语学习者设计的移动英语课程资源,旨在帮助用户通过听、说、练的方式扎实掌握英语基础知识。该课程以900个常用句子为核心,覆盖日常生活、工作及学习场景,是提高英语听说能力的...

    机器视觉基础概念

    这是一篇讲解机器视觉的基础型学习资料,教您如何选型相机与镜头。里面介绍了光学放大倍率 ,工作距离, WD ,焦距,f ,景深,DOF ,分辨率, Resolution ,镜头接口 ,数值孔径, NA ,F数, F No/f-number ,最大兼容...

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

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

    java与web基础概念

    java与web基础概念

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

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

    第一讲:PR的软件介绍与基础概念.xmind

    第一讲:PR的软件介绍与基础概念.xmind

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

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

    LoRa技术讲义 - 第一篇:基础概念与原理.md

    LoRa技术讲义 - 第一篇:基础概念与原理.md

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

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

    C#基础概念教程

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

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

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

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

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

    编译基础概念PPT第一章

    新概念(1-4册)课文

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

    基础概念篇

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

    北师大版七年级数学上册第二章《有理数及其运算》基础概念练习题.doc

    "北师大版七年级数学上册第二章《有理数及其运算》基础概念练习题.doc" 本资源是北师大版七年级数学上册第二章《有理数及其运算》基础概念练习题,旨在帮助学生了解有理数的定义、性质和运算。以下是相关知识点的...

    大数据基础(思维导图)

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

Global site tag (gtag.js) - Google Analytics