据Gigaom消息,Facebook与Yahoo!于上周公开了多系统间实时数据流管理工具的一些细节。其中Yahoo!公布的Storm-YARN已经开源,其基于YARN(Hadoop 2.0)与Storm,实现了Storm与Hadoop集群间更紧密的集合——在需要时甚至可以通过Storm来借用Hadoop批处理集群的能力。Wormhole则集成了监视系统,执行自动修复,支持容量计划,自动化配置等众多特性,遗憾的是Wormhole并未开源。
以下为译文:
6月11日, Yahoo!开源了人气流处理框架Storm的内部定制版——Storm-YARN,用于Hadoop集群中。接着在14号, Facebook公开了名为Wormhole系统的细节,用于多个应用间的通信,当一个系统中的数据发生发变化时,可以自动同步到其它相关系统,以保证数据的实时更新。
Yahoo!:Storm-YARN
流处理框架的实时性广受大数据分析者的喜爱,其价值更是毋庸置疑,比如说Twitter的成功就证明了Storm的价值。Twitter使用Storm来处理tweet,让用户的Timelines就可以保持实时更新,Twitter还使用Storm做类似实时分析及新趋势的发现。事实上Twitter通过购买Storm建立者Backtype确实获得了技术和人才上的双丰收。
提交并执行Storm拓扑
从2011年Storm开源之后,其就作为Hadoop的流处理组件在网络公司中流行了起来。而现在Yahoo!让Storm和Hadoop的集合更加紧密,甚至已经达到Storm在需要时可以借用批处理节点能力的程度。这是个非常有价值的特性——而在上周Facebook Analytics @ Web Scale会议的一个演讲上,Twitter的工程师Krishna Gade还惋惜过Storm自动扩展的局限性。
发布Storm集群和Hadoop YARN
Storm-ARN的实现还获益于YARN的一个重要特性,也是Hadoop 2.0版本一处重大更新——允许Hadoop同时运行多个处理框架。 Twitter曾使用开源资源管理器Mesos达到相同的功能,但是Gade的同事Dmitriy Ryaboy曾申明当Hadoop更新到2.0版本时,该公司将把大数据作业转移到YARN上,并将更多的社区努力放到它的持续改进上,同时还将为其构建更多的应用程序。
Facebook:Wormhole
遗憾的是Facebook的Wormhole迄今并未开源,但是其经验是仍然值得借鉴的(而LinkedIn已经开源了类似的技术Kafka以及Databus)。Wormhole应归属于发布-订阅系统,在Facebook,Wormhole给Facebook主用户数据库发送新内容进行图搜索,从而以最快的速度得到搜索结果,同样Wormhole还可以给其Hadoop环境发送数据,让分析作业使用的数据保持最新。
就像Facebook之前的作品一样(比如新交互式查询引擎Presto),Wormhole具备着很好的扩展性。通过Laurent Demailly的tweet了解到,其延时完全控制在毫秒级:
Wormhole每天处理超过1万亿的信息,每秒1000万条以上。Wormhole被用以处理各组件的故障,具备以下几个特性:集成了监视系统,执行自动修复,支持容量计划,自动化配置及突变处理支持。
最后
虽然Storm-YARN 与Wormhole分别由不同的公司开发,但是显然他们将掀起Hadoop与Storm领域的一场飓风。随着网络公司业务的延伸,应用程序也扩展到多应用与服务混合类型,所以一场针对基础设施的运动也如火如荼的进行着。基于数据层系统的不同需求,这些公司不得不放弃他们最初的架构,转至建设类似Storm以及Wormhole去管理不同系统之间的数据流。