大数据框架Storm的介绍

一、什么是Storm?

  Storm是一个分布式计算框架,主要使用Clojure与Java语言编写,最初是由Nathan Marz带领Backtype公司团队创建,在Backtype公司被Twitter公司收购后进行开源。最初的版本是在2011年9月17日发行,版本号0.5.0。

  2013年9月,Apache基金会开始接管并孵化Storm项目。Apache Storm是在Eclipse Public License下进行开发的,它提供给大多数企业使用。经过1年多时间,2014年9月,Storm项目成为Apache的顶级项目。目前,Storm的最新版本1.1.0。

  Storm是一个免费开源的分布式实时计算系统。Storm能轻松可靠地处理无界的数据流,就像Hadoop对数据进行批处理。

二、Storm和hadoop的区别

1)Storm用于实时计算,Hadoop用于离线计算。

2)Storm处理的数据保存在内存中,源源不断;Hadoop处理的数据保存在文件系统中,一批一批处理。

3)Storm的数据通过网络传输进来;Hadoop的数据保存在磁盘中。

4)Storm与Hadoop的编程模型相似

Storm

hadoop

角色

Nimbus

JobTracker

Supervisor

TaskTracker

Worker

Child

应用名称

Topology

Job

编程接口

Spout/Bolt

Mapper/Reducer

三、Storm的特点

  1)适用场景广泛:Storm可以适用实时处理消息、更新数据库、持续计算等场景。

  2)可伸缩性高:Storm的可伸缩性可以让Storm每秒处理的消息量达到很高。扩展一个实时计算任务,你所需要做的就是加机器并且提高这个计算任务的并行度。Storm使用Zookeeper来协调机器内的各种配置使得Storm的集群可以很容易的扩展。

  3)保证无数据丢失:Storm保证所有的数据都被处理。

  4)异常健壮:Storm集群非常容易管理,轮流重启节点不影响应用。

  5)容错性好:在消息处理过程中出现异常,Storm会进行重试。

猜你喜欢

转载自www.cnblogs.com/wangxiaozhang/p/11025532.html
今日推荐