据Yahoo!介绍,相对于隔离的集群,实时处理(Storm)和批处理的结合具有很多优势:
- 提供了巨大的弹性潜力。实时处理的负载一般不恒定,而且是不可预测的。就其本身而言,为满足需求峰值,Storm会需要更多资源。将Storm和批处理搭配使用,Storm需要资源时可以从批处理作业那里窃取,当资源需求下降时再把资源还回去。Storm-YARN为实现这一理念奠定了基础。
- 很多应用将Storm用于低延时处理,而将Map/Reduce用于批处理,同时,两者之间会共享数据。通过将Storm放到物理上更接近数据源和/或同一流水线中其他组件的地方,可以减少网络传输,进而减少获取数据的总开销。
Storm与YARN的集成利用了Hadoop的新型资源管理器YARN:
Storm-on-YARN支持Storm应用利用数以万计的Hadoop计算节点的计算资源。YARN用来根据需求启动Storm应用的主节点——即Nimbus,并支持Nimbus为Storm应用的工作节点(即Supervisor)请求资源。
Storm-YARN提供了标准的Storm配置文件,其中包括YARN的特定参数,支持配置初始启动的Supervisor数及为每个Supervisor分配的容器的内存大小。
此外,为支持Hadoop风格的安全机制,Yahoo!还增强了Storm,支持Storm应用直接访问存储在HDFS和Hbase上的Hadoop数据。
据Loraine Lawson介绍:
实时交付信息是Hadoop和其他大数据解决方案更有前景的应用之一。这一点很少被提及,这很遗憾,因为对很多组织而言,这是真正的致胜之道,对我们这些人也很有启示。
Storm实现的实时事件处理,加上Hadoop,再加上实时Hadoop查询,它们的结合让我们离这一愿景又近了一步。