Storm 教程

Storm教程

Storm 是 Twitter 开源的分布式实时大数据处理框架,被业界称为实时版 Hadoop,已成为分布式实时处理系统的标准。Storm 最初由 Nathan Marz 和 BackType 团队创建,后被被 Twitter 收购并开源,使用 Java 和 Clojure 编写。

本教程将讲解 Apache Storm的 原理、安装、分布式消息传递、创建 Storm 拓扑、部署 Storm 集群,Trident的工作流程以及应用案例。


 

1. Storm 应用场景

随着越来越多的场景对 Hadoop 的 MapReduce 高延迟无法容忍,大数据实时处理解决方案的应用日趋广泛,目前已是分布式技术领域最新爆发点,而 Storm 更是流计算技术中的佼佼者。

Storm 应用场景包括:实时推荐系统、金融系统、预警系统、网站统计(实时销量、流量统计)、交通路况实时系统等。

 

2. Storm 特性

1) 适用场景广泛

Storm 可以实时处理消息和更新数据库,对一个数据量进行持续的查询并返回客户端(持续计算),对一个耗资源的查询作实时并行化的处理(分布式方法调用,即DRPC),Storm 的这些基础 API 可以满足大量的场景。

2) 可伸缩性高

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

3) 保证无数据丢失

实时系统必须保证所有的数据被成功的处理。 那些会丢失数据的系统的适用场景非常窄, 而 Storm 保证每一条消息都会被处理, 这一点和 S4 相比有巨大的反差。

4) 健壮性

Storm 集群非常容易管理,轮流重启节点不影响应用。

5) 容错性好

在消息处理过程中出现异常, Storm 会进行重试。

6) 语言无关性

Storm 的 topology 和消息处理组件(Bolt)可以用任何语言来定义, 使得任何人都可以使用 Storm。

 

3. 适合人群

本教程是为有志于使用 Apache Storm 框架从事大数据分析工作的专业人员准备的。

本教程将为您在分布式环境中创建和部署 Storm 群集提供足够的知识。

 

4. 预备知识

在继续本教程之前,您必须很好地理解 Core JavaLinux 操作。

 

5. Storm教程导航

Storm教程 Storm简介 Storm核心概念 Storm集群结构 Storm工作流程
Storm分布式消息系统 Storm安装 Storm示例 Storm Trident Storm Twitter
Storm应用场景 Storm应用程序      

 1. 什么是Apache Storm?Apache Storm是一个分布式实时大数据处理系统。Storm设计用于以容错和水平可伸缩方法处理大量数据。这是一个流媒体数据框架,具有最高的摄取率。虽然Storm是无状 ...