1 Storm简介:
Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。
Storm能处理高频数据和大规模数据的实时流计算解决方案将被应用于实时搜索,高频交易和社交网络上。而流计算并不是最近的热点,
金融机构的交易系统正是一个典型的流计算处理系统,它对系统的实时性和一致性有很高要求。
官网地址: http://storm.apache.org/
下载地址: http://storm.apache.org/downloads.html
Javadoc文档地址: http://storm.apache.org/documentation/Home.html ---> 点击链接Javadoc
2 HADOOP与STORM比较:
2.1) 数据来源:HADOOP是HDFS上某个文件夹下的可能是成TB的数据,
STORM是实时新增的某一笔数据,做不了全量计算
2.2) 处理过程:HADOOP是分MAP阶段到REDUCE阶段,STORM是由用户定义处理流程,流程中可以包含多个步骤,每个步骤可以是数据源(SPOUT)或处理逻辑(BOLT);
2.3) 是否结束:HADOOP最后是要结束的,STORM是没有结束状态,到最后一步时,就停在那,直到有新数据进入时再从头开始;
2.4) 处理速度:HADOOP是以处理HDFS上大量数据为目的,速度慢,STORM是只要处理新增的某一笔数据即可,可以做到很快;
2.5) 适用场景:HADOOP是在要处理一批数据时用的,不讲究时效性,要处理就提交一个JOB,STORM是要处理某一新增数据时用的,要讲时效性;
2..6) 与MQ对比:HADOOP没有对比性,STORM可以看作是有N个步骤,每个步骤处理完就向下一个MQ发送消息,监听这个MQ的消费者继续处理。
2..6.1)storm和mq交互过程图:
2.1 storm和kafaka区别:
kafka: 我们不生产水,我们只是大自然的搬运工----> 搬运
storm: 海水转换为淡水 ---> 转换
3 Storm术语解释
3.0) storm里面跑的数据抽象为流,stream(类比为火车),
流这就意味着,
a 永不停歇 b 内容多样化,可以为视频 音频 文本等
火车: steam
火车车厢: 流的单位:tuple
火车始发站:spout, 是stream的数据源,接受storm系统外的数据作为流的来源,
比如京沪高铁北京始发站
火车途经的站点: bolt, (比如 天津站 德州站 济南站 泰安站 枣庄站),每个站点需要上下旅客
上下旅客就是对流数据的处理,最后一个bolt(京沪高铁 上海站)就是这次流的终点
bolt: stream中对tuple做处理的
G36车次: 从北京站(spout)接受客源,
经过每个站点(天津站 德州站 济南站 泰安站 枣庄站)下上下旅客
最后到达上海终点站, 这个车次的整个过程对应storm就是topology,
3.1) Topologies 用于封装一个实时计算应用程序的逻辑,类似于Hadoop的MapReduce Job
3.2) Stream 消息流,是一个没有边界的tuple序列,这些tuples会被以一种分布式的方式并行地创建和处理
3.3) Spouts 消息源,是消息生产者,他会从一个外部源读取数据并向topology里面面发出消息:tuple(元组)
3.4) Bolts 消息处理者,所有的消息处理逻辑被封装在bolts里面,处理输入的数据流并产生输出的新数据流,可执行过滤,聚合,查询数据库等操作
3.5) Task 每一个Spout和Bolt会被当作很多task在整个集群里面执行,每一个task对应到一个线程.
3.6) Stream groupings 消息分发策略,定义一个Topology的其中一步是定义每个tuple接受什么样的流作为输入,stream grouping就是用来定义一个stream应该如果分配给Bolts们.
3.7) tuple: 数据源记录一条条的产生,连续起来就是一个流,可以简单理解成每一条记录都是一个tuple,
每一个tuple里面存放的就是这一行大单词list(列表),
或者你就认为过来的这一行就是一个数据(不用切分 因此也没有list集合),那么过来的每一样都可以有自己这行对应的name,有点类似于Hadoop的<k1,v1>
概念之间关系图:
storm流处理过程图:
4 hadoop和storm对比:
主 | 从 | 任务名称 | 第一个任务 | 第二个任务 | 任务间传递数据格式 | |
mapreduce | JobTracker | TaskTracker | Job | map | reduce | kv |
storm | nimbus | supervisor | topology | spout | bolt | tuple |
相关推荐
Storm简介Storm简介Storm简介Storm简介Storm简介 Storm简介Storm简介Storm简介Storm简介Storm简介
细细品味Storm_Storm简介及安装
01、Storm的集群搭建 01-storm简介.avi
云计算平台Storm简介.pdf
内容概要: • 实时计算需要解决一些什么问题 • 实现一个实时计算系统 • Storm基本概念 • Storm使用场景 • Storm分组机制
01-storm简介 02-storm部署-1 03-storm部署-2 04-storm部署概念 05-streamgrouping 06-storm组件生命周期 07-storm可靠性1 08-storm可靠性2
自己做的pdf,内容清晰。storm 简介 ,storm 的基本知识,拓扑详解
写得比较简单,供初学者参考参考
Storm官方网站有段简介 Storm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量处理大数据一样,Storm可以实时处理数据。Storm简单,可以使用任何编程语言。
通过一段时间storm的学习,对storm做了一个简单的总结,希望能够帮助大家了解、学习storm
示例简介: 以下为三个组建整合,这里只做操作也演示结果,原理性方面大家多学习基础。 流程顺序是flume获取telnet数据,将接收到的数据发送至kafak,kafka作为Storm的spout,Storm进行有向无环分析数据。
根据Storm官方文档以及LMAX的介绍,使用Prezi工具制作了Storm内部Buffer的简要介绍,没有过多的解释,需要配合网上的其他文档及资源来理解Storm内部机制。
一些从网络上搜集,storm 的简介资料,简单介绍storm 框架的相关东西。
Storm和流处理简介.md
基于Storm构建实时热力分布项目实战.txt,视频还行。
1.5.3 Hadoop 简介………………· 14 1.6 案例实践·……...... .… ··· ·· ·········… 17 1.6.l 实验环境设置…………….... 17 1.6.2 中文分词 ……………….. 18 1.6.3 使用 R进行朴素贝叶斯...
Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架,它原来是由BackType开发,后BackType被Twitter收购,将Storm作为Twitter的实时数据分析系统。实时数据处理的应用场景很广泛,例如商品推荐,广告投放,它...
1.1简介Storm 是一个开源的分布式实时计算框架,可以以简单、可靠的方式进行大数据流的处理。通常用于实时分析,在线机器学习、持续计算、分布式 RPC、ETL