- Apache Storm 教程
- Apache Storm - 首页
- Apache Storm - 简介
- Apache Storm - 核心概念
- Apache Storm - 集群架构
- Apache Storm - 工作流程
- Storm - 分布式消息系统
- Apache Storm - 安装
- Apache Storm - 实例
- Apache Storm - Trident
- 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 vs Hadoop
基本上,Hadoop和Storm框架都用于分析大数据。它们相互补充,但在某些方面有所不同。Apache Storm执行所有操作(持久性除外),而Hadoop擅长所有操作,但在实时计算方面有所欠缺。下表比较了Storm和Hadoop的属性。
Storm | Hadoop |
---|---|
实时流处理 | 批处理 |
无状态 | 有状态 |
基于ZooKeeper协调的主/从架构。主节点称为nimbus,从节点称为supervisors。 | 基于ZooKeeper协调的主从架构。主节点是job tracker,从节点是task tracker。 |
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也能保证数据处理。