- Apache Storm 教程
- Apache Storm - 主页
- Apache Storm - 简介
- Apache Storm - 核心概念
- Apache Storm - 集群架构
- Apache Storm - 工作流程
- Storm - 分布式消息系统
- Apache Storm - 安装
- Apache Storm - 工作示例
- Apache Storm - 三叉戟
- Twitter 中的 Apache Storm
- 雅虎中的Apache Storm!金融
- Apache Storm - 应用程序
- Apache Storm 有用资源
- Apache Storm - 快速指南
- Apache Storm - 有用的资源
- Apache Storm - 讨论
Apache Storm - 简介
什么是Apache Storm?
Apache Storm 是一个分布式实时大数据处理系统。Storm 旨在以容错和水平可扩展的方法处理大量数据。它是一个具有最高摄取率能力的流数据框架。尽管 Storm 是无状态的,但它通过 Apache ZooKeeper 管理分布式环境和集群状态。它很简单,您可以并行地对实时数据执行各种操作。
Apache Storm 继续成为实时数据分析领域的领导者。Storm 易于设置和操作,并且保证每条消息都将通过拓扑至少处理一次。
Apache Storm 与 Hadoop
基本上 Hadoop 和 Storm 框架用于分析大数据。两者相辅相成,但在某些方面又有所不同。Apache Storm 负责除了持久化之外的所有操作,而 Hadoop 一切都很好,但在实时计算方面落后。下表比较了Storm和Hadoop的属性。
风暴 | Hadoop |
---|---|
实时流处理 | 批量处理 |
无国籍 | 有状态的 |
主/从架构与基于 ZooKeeper 的协调。主节点称为nimbus,从节点称为管理者。 | 主从架构,带/不带基于 ZooKeeper 的协调。主节点是作业跟踪器,从节点是任务跟踪器。 |
Storm 流处理每秒可以在集群上访问数万条消息。 | Hadoop 分布式文件系统 (HDFS) 使用 MapReduce 框架来处理需要几分钟或几小时的大量数据。 |
Storm 拓扑将一直运行,直到用户关闭或发生意外的不可恢复的故障。 | MapReduce 作业按顺序执行并最终完成。 |
两者都是分布式且容错的 | |
如果 nimbus/supervisor 死机,重新启动会使其从停止的地方继续,因此不会受到任何影响。 | 如果 JobTracker 挂掉,所有正在运行的作业都会丢失。 |
Apache Storm 的用例
Apache Storm 以实时大数据流处理而闻名。因此,大多数公司都使用 Storm 作为其系统的组成部分。一些值得注意的例子如下 -
Twitter - Twitter 正在将 Apache Storm 用于其“发布商分析产品”系列。“发布商分析产品”处理 Twitter 平台中的每条推文和点击。Apache Storm 与 Twitter 基础设施深度集成。
NaviSite - NaviSite 使用 Storm 进行事件日志监控/审核系统。系统中产生的每一条日志都会经过Storm。Storm 将根据配置的正则表达式集检查消息,如果存在匹配,则该特定消息将保存到数据库中。
Wego - Wego 是一个位于新加坡的旅游元搜索引擎。旅行相关数据来自世界各地不同时间的多个来源。Storm 帮助 Wego 搜索实时数据、解决并发问题并为最终用户找到最佳匹配。
Apache Storm的好处
以下是 Apache Storm 提供的优势列表 -
Storm 是开源的、强大的且用户友好的。它可以在小公司和大公司中使用。
Storm 容错、灵活、可靠,并且支持任何编程语言。
允许实时流处理。
Storm 的速度快得令人难以置信,因为它具有强大的数据处理能力。
即使在负载增加的情况下,Storm 也可以通过线性添加资源来保持性能。它具有高度可扩展性。
Storm 在几秒或几分钟内执行数据刷新和端到端交付响应,具体取决于问题。它具有非常低的延迟。
Storm 具有操作智能。
即使集群中任何连接的节点死亡或消息丢失,Storm 也能提供有保证的数据处理。