Storm 与 Hadoop 相比如何?Hadoop 似乎是开源大规模批处理的事实标准,Storm 比 hadoop 有什么优势吗?还是它们完全不同?
6 回答
你为什么不说你的意见。
- http://www.infoq.com/news/2011/09/twitter-storm-real-time-hadoop/
- http://engineering.twitter.com/2011/08/storm-is-coming-more-details-and-plans.html
Twitter Storm 被吹捧为实时 Hadoop。这更像是一种易于消费的营销方式。
它们表面上很相似,因为它们都是分布式应用程序解决方案。除了典型的分布式架构元素,如主/从、基于 Zookeeper 的协调之外,对我来说,比较掉下来了。
Twitter 更像是一个处理数据的管道。管道连接各种计算节点,这些节点接收数据、计算和传递输出。(术语是 spouts 和 bolts)将此类比扩展为一个复杂的管道布线,可以在需要时重新设计,你就会得到 Twitter Storm。
简而言之,它处理数据。没有延迟。
Hadoop 在这方面的不同主要是由于 HDFS。它是面向分布式存储和容忍许多规模(磁盘、机器、机架等)中断的解决方案
M/R 旨在利用 HDFS 上的数据本地化来分发计算作业。它们一起不提供实时数据处理的设施。但是,当您查看大数据时,这并不总是需要。(大海捞针的比喻)
简而言之,Twitter Storm 是一个分布式实时数据处理解决方案。我认为我们不应该比较它们。Twitter 之所以构建它,是因为它需要一个工具来实时处理小推文,但数量巨大。
请参阅:HStreaming如果您不得不将其与某些事物进行比较
基本上,它们都用于分析大数据,但 Storm 用于实时处理,而 Hadoop 用于批处理。
这是我发现的一个非常好的Storm介绍: 点击这里
与其进行比较,不如说它们现在通过批处理 + 实时(伪实时)处理相互补充。有一个相应的视频演示——Ted Dunning 在 Twitter 的 Storm 上
我使用 Storm 已经有一段时间了,现在我已经放弃了这项非常好的技术,而是为了一个令人惊叹的技术:Spark ( http://spark.apache.org ),它为开发人员提供了一个用于批处理或流处理的统一 API(微-batch)以及机器学习和图形处理。
值得一试。
Storm 用于快速数据(实时),而 Hadoop 用于大数据(预先存在的大量数据)。Storm 无法处理大数据,但它可以生成大数据作为输出。
Apache Storm 是一个免费的开源分布式实时计算系统。Storm 可以轻松可靠地处理无限制的数据流,实时处理就像 Hadoop 进行批处理一样。
由于Hadoop生态系统中存在许多子系统,我们必须根据业务需求和特定系统的可行性来选择合适的子系统。
Hadoop MapReduce 对于一次处理一项作业非常有效。这就是为什么 Hadoop 被广泛用作数据仓库工具而不是数据分析工具的原因。
由于该问题仅与“ Storm ”与“ Hadoop ”有关,请查看Storm 用例- 金融服务、电信、零售、制造、运输。
- Hadoop MapReduce 最适合批处理。
- Storm 是一个完整的流处理引擎,可用于亚秒级延迟的实时数据分析。
查看这篇dezyre 文章,比较 Hadoop、Storm 和 Spark。它解释了相同点和不同点。
可以用下图概括(来自dezyre
文章)