前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >大数据Storm有什么优势?

大数据Storm有什么优势?

作者头像
希望的田野
发布于 2019-09-24 09:00:07
发布于 2019-09-24 09:00:07
1.8K0
举报
文章被收录于专栏:信息化漫谈信息化漫谈

大数据Hadoop组件中,有MapReduceSpark,但基于实时的流式计算,Hadoop体系外的Storm有着不可替代的快速的优势。那Storm的作用是什么呢?

一、Storm的应用场景

主要用于基于网络的快速小数据处理。比如用户在淘宝网站上点击了什么链接、最新的订单从哪个地方产生。这些数据信息量其实不大,但要求进行快速的处理实时处理,以便于实时的呈现。

例如下图,阿里的实时订单数据,我们可以进行成交金额的快速获知

二、Storm与MapReduce的区别

1、Storm特点:基于内存计算、基于网络数据来源、用于实时计算

2、MapReduce特点:基于磁盘计算、数据来源于磁盘、用于批量非实时计算。

大家觉得Storm很有优势,但实际天生我才必有用,MapReduce的作用也很大。我们将所有的数据都存放到HDFS中,一般数据可为PB级别,采用MapReduce可充分发挥分布式计算的特点,得到区间段的数据分析结果。例如,运营商可以基于MapReudce可以分析所有网络用户访问互联网网站的Top10记录,以便于进行针对性的网站服务保障。

三、Storm的重要组件

1、主节点Nimbus,进行计算任务的分配,提交具体任务

2、Zookeeper,用于Nimbus与Supervisor的任务调度。Nimbus将任务写到Zookeeper中,Supervisor通过ZookeeperClient至Zookeeper的INI中取到具体的任务。同时,Nimbus通过Zookeeper感知到哪台工作机无法工作,将不再把任务分配给该故障工作机。

3、Supervisor中运行worker进行,运行具体的计算任务。

四、Storm的工作流程

Storm在运行中可分为spout与bolt两个组件,其中,数据源从spout开始,数据以tuple的方式发送到bolt,多个bolt可以串连起来,一个bolt也可以接入多个spot/bolt。

Topology:Storm中运行的一个实时应用程序的名称。将 Spout、 Bolt整合起来的拓扑图。定义了 Spout和 Bolt的结合关系、并发数量、配置等等。

Spout:在一个topology中获取源数据流的组件。通常情况下spout会从外部数据源中读取数据,然后转换为topology内部的源数据。

Bolt:接受数据然后执行处理的组件,用户可以在其中执行自己想要的操作。

Tuple:一次消息传递的基本单元,理解为一组消息就是一个Tuple。

Stream:Tuple的集合。表示数据的流向。

五、Topology的运行

在Storm中,一个实时应用的计算任务被打包作为Topology发布,这同Hadoop的MapReduce任务相似。但是有一点不同的是:在Hadoop中,MapReduce任务最终会执行完成后结束;而在Storm中,Topology任务一旦提交后永远不会结束,除非你显示去停止任务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信息化漫谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
流式计算引擎-Storm、Spark Streaming
目前常用的流式实时计算引擎分为两类:面向行和面向微批处理,其中面向行的流式实时计算引擎的代表是Apache Storm,典型特点是延迟低,但吞吐率也低。而面向微批处理的流式实时计算引擎代表是Spark Streaming,其典型特点是延迟高,但吞吐率也高。
凹谷
2020/04/11
2.5K0
一脸懵逼学习Storm---(一个开源的分布式实时计算系统)
Storm的官方网址:http://storm.apache.org/index.html 1:什么是Storm?  Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。被称作
别先生
2018/01/02
1.6K0
一脸懵逼学习Storm---(一个开源的分布式实时计算系统)
【大数据技术基础 | 实验十五】Storm实验:部署Storm
Storm简介:Storm是一个分布式的、高容错的基于数据流的实时处理系统,可以简单、可靠的处理大量的数据流。Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个结点每秒可以处理数以百万计的消息),它有以下特点:编程模型简单、可扩展、高可靠性、高容错性、支持多种编程语言、支持本地模式、高效。Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。
Francek Chen
2025/01/22
880
【大数据技术基础 | 实验十五】Storm实验:部署Storm
大数据入门:Storm基础讲解
在大数据学习当中,主流的技术框架通常都是需要有相应程度的掌握的,包括Hadoop、Spark、Storm、Flink等。其中,Storm这个框架,其实处在一个稍微尴尬的地位,市场占有率称不上特别高,但是也不容忽视。今天的大数据入门分享,我们来对Storm做个简单的入门讲解。
成都加米谷大数据
2020/11/23
9700
大数据入门:Storm基础讲解
大数据干货系列(七)-Storm总结
本文共计1661字,预计阅读时长十分钟 Storm总结 一、本质 Storm是一个开源分布式实时计算系统,它可以实时可靠地处理流数据。 二、Storm解决了什么问题 1.实时数据分析需求 –实时报表动态展现 –数据流量波动状态 –反馈系统 2.时效性 –秒级处理完成数据 3.增量式处理 –数据来一条,处理一条 三、Hadoop vs Storm 1.Storm任务没有结束,Hadoop任务执行完结束 2.Storm延时更低,得益于网络直传、内存计算,省去了批处理的收集数据的时间 3.Hadoop使用磁盘
企鹅号小编
2018/01/16
8770
大数据干货系列(七)-Storm总结
什么是Storm,它可以用来做什么?
最近团队中有分析的场景,用到了JStorm来做数据的实时分析,于是花时间对于一些概念做了了解。 什么是Storm? 这个的话出来应该有几年时间了,阿里巴巴也重写了一套JStorm,核心的类名都是服用的
CSDN技术头条
2018/02/09
2.1K0
什么是Storm,它可以用来做什么?
使用Storm实现实时大数据分析
摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Storm进行实时大数据分析。CSDN在此编译、整理。
黄规速
2022/04/14
6790
使用Storm实现实时大数据分析
事实数据分析——Storm框架(一)
总体描述:nimbus下命令(分配任务),zk监督执行(心跳监控,worker、supurvisor的心跳都归它管),supervisor服从命令(下载代码),招募人马(创建worker和线程等),worker、executor就给我干活!task就是具体要干的活。
趣学程序-shaofeer
2019/09/25
1.1K0
事实数据分析——Storm框架(一)
Java核心知识点整理大全26-笔记
Storm 是一个免费并开源的分布式实时计算系统。利用 Storm 可以很容易做到可靠地处理无限的 数据流,像 Hadoop 批量处理大数据一样,Storm 可以实时处理数据。
用户10920956
2024/01/18
1770
Java核心知识点整理大全26-笔记
CentOS 6.8 安装JStorm集群(jstorm-2.1.1 )
shaonbean
2018/01/02
9800
CentOS 6.8 安装JStorm集群(jstorm-2.1.1 )
Storm极简教程
八卦 Storm的作者是Nathan Marz,Nathan Marz在BackType公司工作的时候有了Storm的点子并独自一人实现了Storm。在2011年Twitter准备收购BackType之际,Nathan Marz为了提高Twitter对BackType的估值,在一篇博客里向外界介绍了Storm。Twitter对这项技术非常感兴趣,因此在Twitter收购BackType的时候Storm发挥了重大作用。后来Nathan Marz开源Storm时,也借着Twitter的品牌影响力而让Storm
架构师小秘圈
2018/04/02
1.9K0
Storm极简教程
浅谈Storm流式处理框架
http://blog.csdn.net/fanyun_01/article/details/50921678
bear_fish
2018/09/20
9720
浅谈Storm流式处理框架
storm概念学习及流处理与批处理的区别
在过去10 年中,随着互联网应用的高速发展,企业积累的数据量越来越大,越来越多。随着Google MapReduce、Hadoop 等相关技术的出现,处理大规模数据变得简单起来,但是这些数据处理技术都不是实时的系统,它们的设计目标也不是实时计算。毕竟实时的计算系统和基于批处理模型的系统(如Hadoop)有着本质的区别。
用户3003813
2018/09/06
8140
storm概念学习及流处理与批处理的区别
大数据技术原理与应用之【流计算】习题
目前有三类常见的流计算框架和平台:商业级的流计算平台、开源流计算框架、公司为支持自身业务开发的流计算框架
大数据梦想家
2021/01/26
1K0
大数据技术原理与应用之【流计算】习题
【智能大数据分析 | 实验三】Storm实验:实时WordCountTopology
掌握如何用 Java 代码来实现 Storm 任务的拓扑,掌握一个拓扑中 Spout 和 Bolt 的关系及如何组织它们之间的关系,掌握如何将 Storm 任务提交到集群。
Francek Chen
2025/01/22
960
【智能大数据分析 | 实验三】Storm实验:实时WordCountTopology
亿级流量场景下,大型缓存架构的虚拟机环境搭建[2]
  接下来,我们是要讲解商品详情页缓存架构,缓存预热和解决方案,缓存预热可能导致整个系统崩溃的问题以及解决方案;
小勇DW3
2019/03/20
4070
亿级流量场景下,大型缓存架构的虚拟机环境搭建[2]
实时可靠的开源分布式实时计算系统——Storm
在Hadoop生态圈中,针对大数据进行批量计算时,通常需要一个或者多个MapReduce作业来完成,但这种批量计算方式是满足不了对实时性要求高的场景。 Storm是一个开源分布式实时计算系统,它可以实时可靠地处理流数据。 Storm特点 在Storm出现之前,进行实时处理是非常痛苦的事情,我们主要的时间都花在关注往哪里发消息,从哪里接收消息,消息如何序列化,真正的业务逻辑只占了源代码的一小部分。一个应用程序的逻辑运行在很多worker上,但这些worker需要各自单独部署,还需要部署消息队列。最大问题是
CSDN技术头条
2018/02/06
2.2K0
实时可靠的开源分布式实时计算系统——Storm
三歪学了几天Storm,上线了一版,全都是Bug
听说过大数据的同学应该都听说过Storm吧?其实我现在负责的系统用的就是Storm,在最开始接手系统的时候,我是完全不了解Storm的(现在其实也是一知半解而已)
Java3y
2020/05/12
5540
storm 原理简介及单机版安装指南
本文翻译自: https://github.com/nathanmarz/storm/wiki/Tutorial Storm是一个分布式的、高容错的实时计算系统。 Storm对于实时计算的的意义相当于Hadoop对于批处理的意义。Hadoop为我们提供了Map和Reduce原语,使我们对数据进行批处理变的非常的简单和优美。同样,Storm也对数据的实时计算提供了简单Spout和Bolt原语。 Storm适用的场景: 1、流数据处理:Storm可以用来用来处理源源不断的消息,并将处理之后的结果保存到持久
用户1177713
2018/02/24
8050
storm 原理简介及单机版安装指南
Storm介绍及原理
Storm介绍及原理 一、概述     Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。     Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。     Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个结点每秒可以处理数以百万计的消息)。     Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来开发应用。 二、组件 1、结构     storm结构称为topolo
云飞扬
2018/05/11
5.1K0
相关推荐
流式计算引擎-Storm、Spark Streaming
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档