大数据组件之Storm详解

           Storm 是一个免费并开源的分布式实时计算系统,具有高容错性和可扩展性。它能够处理无边界的数据流,并提供了实时计算的功能。与传统的批处理系统相比,Apache Storm 更适合处理实时数据。

让我们深入了解一下 Storm

1.Storm 简介

  • Storm 是一个分布式实时大数据处理系统,设计用于在容错和水平可扩展方法中处理大量数据。
  • 它是一个流数据框架,具有最高的摄取率。
  • 虽然 Storm 是无状态的,但它通过 Apache ZooKeeper 管理分布式环境和集群状态。

2.Storm 的特点

  • 编程简单:开发人员只需关注应用逻辑,类似于 HadoopStorm 提供的编程原语也很简单。
  • 高性能,低延迟:适用于广告搜索引擎等需要实时响应的场景。
  • 分布式:轻松应对数据量大、单机无法处理的场景。
  • 可扩展:随着业务发展,系统可水平扩展。
  • 容错:单个节点故障不影响应用。
  • 消息不丢失:保证消息处理

3.Storm 与 Hadoop 的比较

  • Storm 用于实时计算,Hadoop 用于离线计算。
  • Storm 处理的数据保存在内存中,源源不断;Hadoop 处理的数据保存在文件系统中,一批一批。
  • Storm 的数据通过网络传输进来;Hadoop 的数据保存在磁盘中。
  • StormHadoop 的编程模型相似。

4.Storm 集群架构

  • Nimbus:Storm 集群的 Master 节点,负责分发用户代码,指派给具体的 Supervisor 节点上的 Worker 节点运行 Topology 对应的组件(Spout/Bolt)的 Task。
  • Supervisor:Storm 集群的从节点,负责管理运行在 Supervisor 节点上的每一个 Worker 进程的启动和终止。
  • ZooKeeper:协调 Nimbus 和 Supervisor,确保 Topology 在故障情况下重新分配到可用的 Supervisor 上运行。

5.Storm 编程模型

  • Spout:获取源数据流的组件,通常从外部数据源中读取数据并转换为 Topology 内部的源数据。
  • Bolt:接受数据并执行处理的组件,用户可以在其中执行自己想要的操作。
  • Tuple:一次消息传递的基本单元,理解为一组消息就是一个 Tuple。
  • Stream:Tuple 的集合,表示数据的流向。

6.Topology 运行

  • 在 Storm 中,一个实时应用的计算任务被打包作为 Topology 发布,类似于 Hadoop 的 MapReduce 任务。
  • 不同之处在于,Storm 中的 Topology 任务一旦提交后永远不会结束,除非显式停止任务。
  • Topology 由不同的 Spouts 和 Bolts 通过数据流连接起来,形成图形结构。
  • Storm 使用 Worker、Executor 和 Task 来完成 Topology 的执行工作,保证实时数据处理。

7.应用场景

       Storm 是一个强大的分布式实时计算系统,适用于多种场景。以下是一些 Storm 的应用场景:

  1. 实时分析Storm 可以处理无限的数据流,用于实时分析,例如实时监控、实时报警、实时指标计算等。

  2. 在线机器学习Storm 适用于在线机器学习任务,如实时模型训练、特征提取和预测。

  3. 持续计算Storm 可以处理连续的数据流,例如流式处理日志、事件流、传感器数据等。

  4. 分布式 RPCStorm 可以用于构建分布式远程过程调用(RPC)系统,实现分布式服务之间的通信。

  5. ETL(Extract, Transform, Load)Storm 可以用于数据抽取、转换和加载,将数据从不同源转移到目标系统。

                总之,Storm 是一款强大的分布式实时计算系统,为企业提供稳定可靠的实时计算服务,帮助处理和分析大规模数据,促进业务增长和发展。Storm 的灵活性、高性能和可靠性使其成为处理实时数据的理想选择,适用于各种业务需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/586411.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Systemback Ubuntu14.04 制作自定义系统ISO镜像

工作需要,要基于ubuntu自定义一些编译环境并将自己配置好的ubuntu做成镜像。 硬件准备 ​ 为保证能够顺利完成系统iso镜像的制作与系统还原,推荐准备一个较大容量的U盘或者移动固态硬盘,同时确保自己的Ubuntu系统还有比较大的可用空间。 1 S…

sgg_ssm学习--前端搭建遇到的问题

目录 问题1:由于我是解压缩软件nodejs,没有添加系统路径 解决:添加nodejs的路径 到系统 path中 问题2:vscode 终端输入npm命令 报错 解决(如图所示在vscode打开前端工程,终端修改如下配置): 问题1&…

CSS 伪类、伪元素的应用实例:电池充电、高能进度条

一、目的 本文通过 CSS 伪类、伪元素,结合动画 animation 和 Vue 动态样式属性(通过 CSS 变量)的写法,来实现电池充电、高能进度条的效果,如下图所示。 二、基础知识 1、CSS 伪类、伪元素 简单概括成以下 4 点&#x…

如何提升制造设备文件汇集的可靠性和安全性?

制造设备文件汇集通常指的是将与制造设备相关的各种文档和资料进行整理和归档的过程。这些文件可能包括但不限于: 生产数据:包括生产计划、订单信息、生产进度等。 设计文件:如CAD图纸、设计蓝图、产品模型等。 工艺参数:用于指…

新唐的nuc980/nuc972的开发1-环境和源码同步

开发环境安装 1.1更新源 服务器端:可以参考:Linux替换清华源_更改清华源-CSDN博客 下面是桌面端的方法: 打开系统的软件中心,选择自己想要使用的源 更新缓存 1.2安装必须的库 apt-get install patch apt-get install libc6-dev …

ClickHouse高原理与实践

ClickHouse高原理与实践 1 ClickHouse的特性1.1. OLAP1.2. 列式存储1.3. 表引擎1.4. 向量化执行1.5. 分区1.6. 副本与分片1.7 其他特性 2. ClickHouse模块设计2.1 Parser分析器与Interpreter解释器2.2 Storage2.3 Column与Field2.4 DataType2.5 Block2.6 Cluster与Replication …

数据库基础--MySQL简介以及基础MySQL操作

数据库概述 数据库(DATABASE,简称DB) 定义:是按照数据结构来组织、存储和管理数据的仓库.保存有组织的数据的容器(通常是一个文件或一组文件) 数据库管理系统(Database Management System,简称DBMS) 专门用于管理数据库的计算机系统软件;…

机器学习:深入解析SVM的核心概念【一、间隔与支持向量】

直接阅读原始论文可能有点难和复杂,所以导师直接推荐我阅读周志华的《西瓜书》!!然后仔细阅读其中的第六章:支持向量机 间隔与支持向量 **问题一:什么叫法向量?为什么是叫法向量**什么是法向量?…

c#数据库: 10.调用存储过程查询信息,并显示在窗体上

查询女生信息,并将信息显示在窗体上: 原数据表//右键数据库名,新建查询 ------------- 新建查询窗口,添加新建存储过程Procedure_GetGirls1和查询代码如下 : CREATE PROCEDURE dbo.Procedure_GetGirls1 /*存储过程名称*/ AS SELECT * f…

如何通过前后端交互的方式制作Excel报表

前言 Excel拥有在办公领域最广泛的受众群体,以其强大的数据处理和可视化功能,成了无可替代的工具。它不仅可以呈现数据清晰明了,还能进行数据分析、图表制作和数据透视等操作,为用户提供了全面的数据展示和分析能力。 今天小编就…

2024年武汉东湖高新水测成绩出来了

本次水测通过人员有1016名,通过的人数还是蛮多的,水测其实没有大家想象的那么难,现在职称评审都是水测线下评审的模式进行的。 水平测试分机考,笔试和面试答辩,各区随机安排选其一,机考就相当于考驾照刷题&…

HTML:元素分类

HTML:元素分类 概述块级元素(Block-level Elements)内联元素(Inline Elements)替换元素(Replaced Elements)表单元素(Form Elements) 概述 HTML(HyperText M…

如何使用Spring Boot导出数据到Excel表格

在开发应用程序时,经常会遇到将数据导出到Excel表格的需求。Spring Boot提供了简单而有效的方法来实现这个功能。本文将介绍如何使用Spring Boot和Apache POI库将数据导出到Excel表格,并提供一个示例代码来演示该过程。 1. 准备工作 首先,确…

从Paint 3D入门glTF

Paint 3D Microsoft Paint 3D是微软的一款图像编辑软件,它是传统的Microsoft Paint程序的升级版。 这个新版本的Paint专注于三维设计和创作,使用户可以使用简单的工具创建和编辑三维模型。 Microsoft Paint 3D具有直观的界面和易于使用的工具&#xff0…

C语言入门课程学习笔记-7

C语言入门课程学习笔记-7 第31课 - 初探程序中的函数实验-函数调用实验-函数求前n个正整数和 第32课 - 深入浅出函数调用第33课 - 函数定义细节剖析实验-返回int实验-返回void 第34课 - 函数参数深度剖析实验-形参实参实验-数组元素作为函数形参小结 第35课 - 编写函数对数组排…

WebAuthn 无密码身份认证

文章目录 WebAuthn简介工作原理组成部分架构实现注册认证应用场景案例演示 WebAuthn简介 WebAuthn,全称 Web Authentication,是由 FIDO 联盟(Fast IDentity Online Alliance)和 W3C(World Wide Web Consortium&#x…

cisp证有用吗?

CISP证书肯定是有用的!就像你说的,少一个证不如多一个证,总比“证到用时方恨少”的好!既然你想往网络安全方向发展,考个CISP还是有必要的,CISP目前考试比较简单,拿证书还是比较容易的&#xff0…

【天龙怀旧服】攻略day8

关键字: 高血祭学习、角色伤害、幻魂升级 1】高血祭学习是否需要花费99金 珍兽手动技能分为分开阳类/破军类 高血祭属于开阳类 当已学会开阳类(如肉墙)学习高血祭,仅需1.70金,属于替换 而已学会破军类(…

GitLab常用指令!(工作中常用的)

目录 克隆代码创建分支切换分支将代码提交到分支当中Merge合并 克隆代码 复制完地址,打开Git Bash,然后 git clone “复制的地址”创建分支 创建new_test分支 git branch new_test切换分支 切换到new_test分支 git checkout new_test将代码提交到分…

element的el-table 解决表格多页选择数据时,数据被清空

问题:切换页码时,勾选的数据会被清空 重点看我圈出来的,直接复制,注意,我这里 return row.productId;一般大家的是 return row.id,根据接口定的唯一变量 :row-key"getRowKeys"​​​​​​​:reserve-sele…
最新文章