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 Java 和 Linux 操作。
5. Storm教程导航
Storm教程 | Storm简介 | Storm核心概念 | Storm集群结构 | Storm工作流程 |
Storm分布式消息系统 | Storm安装 | Storm示例 | Storm Trident | Storm Twitter |
Storm应用场景 | Storm应用程序 |
下一章:Storm 简介
1. 什么是Apache Storm?Apache Storm是一个分布式实时大数据处理系统。Storm设计用于以容错和水平可伸缩方法处理大量数据。这是一个流媒体数据框架,具有最高的摄取率。虽然Storm是无状 ...