Storm和Hadoop的联系与区别

Yang 542

一、Storm和Hadoop之间的联系:1、数据存储;2、数据源。二、Storm和Hadoop的区别:1、处理框架不同;2、处理过程不同;3、结束方式不同;4、处理速度不同;5、适用场景不同;6、主从结构不同。

一、Storm和Hadoop之间的联系

二者之间的联系主要是在数据存储和数据源方面。

1、数据存储

Storm可以使用HDFS作为数据的持久化存储,也可以使用HBase或其他的数据库作为数据的实时存储。Storm还可以使用Hadoop的其他组件,如Flume、Sqoop等,来导入或导出数据。

2、数据源

Storm还可以使用Hadoop作为数据的来源,通过读取HDFS中的文件或者接收MapReduce输出的结果来进行实时处理。Storm也可以与Kafka等消息队列系统结合,来接收其他系统产生的实时数据。

二、Storm和Hadoop的区别

1、处理框架不同

Hadoop是一个分布式存储和计算的平台,它主要用于对大量离线数据进行批量处理。Hadoop的核心组件是HDFS(分布式文件系统)和MapReduce(分布式计算模型)。Hadoop还有很多其他的组件,如Hive、Pig、Spark等,可以提供不同的功能和优化。

Storm是一个分布式实时计算的框架,它主要用于对持续产生的在线数据进行流式处理。Storm的核心组件是Spout(数据源)和Bolt(数据处理单元),它们可以构成一个拓扑结构来实现复杂的逻辑。Storm还可以与其他的组件,如Kafka、Redis等,进行集成和协作。

2、处理过程不同

Hadoop是分MAP阶段到REDUCE阶段;Storm是由用户定义处理流程,流程中可以包含多个步骤,每个步骤可以是数据源(SPOUT)或处理逻辑(BOLT)。

3、结束方式不同

Hadoop最后是要结束的。Storm是没有结束状态,到最后一步时,就停在那,直到有新数据进入时再从头开始。

4、处理速度不同

Hadoop是以处理HDFS上TB级别数据为目的,数据是保存在文件系统中,一批一批处理的处理速度慢;Storm是处理的是实时新增的某一笔数据(实时数据),通过网络传输进来的,TORM是只要处理新增的某一笔数据即可,速度较快。

5、适用场景不同

Hadoop的适用场景:
1)海量数据的离线分析处理
2)大规模Web信息搜索
3)数据密集型并行计算

Storm的适用场景:
1)流数据处理
Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去。
2)分布式RPC。由于Storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式RPC框架来使用。

6、主从结构不同

Hadoop:在Hadoop中,由于同时着重于计算和存储,同时存在两个master/slave机制。数据计算使用的使用的是MapReduce框架,master 节点称之为JobTracker,slave节点称之为TaskTracker。数据存储使用的是HDFS,master节点称之为NameNode,slave节点称之为DataNode。

Storm:由于Storm只着重于计算,因此只有一套计算的master/slave机制。master称之为Nimbus,slave称之为supervisor。对应的是Hadoop的分布式计算框架mapreduce。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部