Apache storm是什么?
Apache storm是一个分布式实时大数据处理系统。storm的目的是提供容错和水平可伸缩扩展的方式处理大量数据。storm是一个高吞吐率流数据处理框架。虽然storm是无状态的,它通过Apache管理分布式环境和集群状态。storm很简单,可以对实时数据并行的进行各种各样的操作。

 

Apache是实时数据分析领域是领跑者。storm很容易安装,操作,并且能够保证每条消息被topology至少处理一次。

 

Apache Storm vs Hadoop

通常Hadoop和storm框架被用于分析大数据。

两者是相辅相成的,但在某些方面有所不同。

Apache storm除了持久性外支持所有的操作,而Hadoop擅长处理非实时计算的所有操作。

下表比较了storm和Hadoop的特性:

Storm

Hadoop

 实时流处理

批处理

 无状态的

 有状态

基于zookeeper协调服务的主/从架构。

主节点是nimbus,从节点是supervisors

可基于zookeeper协调管理的主从架构(也可以不用zookeeper管理)。

主节点是jobTracker,从节点是taskTracker。

(备注:这个是基于hadoop1.版本)

Hadoop2.x版本中,用yarn管理,resourcemanager和nodemanager

集群上,Storm流处理每秒可以处理数以万计的数据。

 

Hadoop分布式文件系统(HDFS)使用MapReduce框架来处理大量的数据,处理工程可能需要几分钟或几小时。

Storm topology一直运行,直到由用户关闭或意想不到的不可恢复的故障才会停止。

MapReduce任务按顺序执行至完成。

Hadoop和storm都支持分布式和容错机制

如果nimbus/supervisors停止运行,重启后,数据会在停止的地方继续处理,即处理是可恢复的,因此没有什么影响。

如果JobTracker死了,所有正在运行的工作都会丢失,即任务是不可恢复的.

 

 

Use-Cases of Apache Storm

Storm使用案例

Apache storm是非常有名的实时大数据流处理框架。

因此,大部分的公司都使用storm作为他们系统的一个组成部分。

一些著名的例子如下−

 

Twitter − Twitter使用Apache storm的 “Publisher Analytics products”。

NaviSite−NaviSite使用storm处理事件日志监控/审计。

Wego−Wego是一个位于新加坡的旅游搜索引擎。

 

Apache Storm Benefits

Apache storm的好处

这里是Apache storm提供好处的一个列表:

1.Storm是开源,健壮和用户友好的。大小公司都适用。

2.Storm是具备容错机制、灵活、可靠和支持任何编程语言的流处理框架。

3.允许实时流处理。

4.Storm处理速度非常快,因为它拥有巨大的处理数据的能力。

5.Storm甚至可以保持性能随着负载的增加线性增加。它是高度可伸缩的。

6.Storm的响应时间为秒或分钟取决于执行数据刷新和端到端交付能力。

它有非常低的延迟。

7.Storm具有智能操作的能力

8.当集群中有节点宕机或消息丢失时,Storm依旧能保证数据的正常处理。