浅析Facebook与Yahoo“火花”:系统间实时数据流管理工具
发布日期:2016-3-15 13:3:54
浅析Facebook与Yahoo“火花”:系统间实时数据流管理工具 根据Gigaom的消息,Facebook与Yahoo!于上周公开了多系统间实时数据流管理工具的一些细节。其中,Wormhole集成了监视系统,执行自动修复,支持容量计划,自动化配置等众多特性,遗憾的是Wormhole并没有开源。而Yahoo!公布的Storm-YARN已经开源,其基于YARN(Hadoop 2.0)与Storm,实现了Storm与Hadoop集群间更紧密的集合——在需要时甚至能够通过Storm来借用Hadoop批处理集群的能力。 下面是具体的译文: 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每秒1000万条以上,每天处理超过1万亿的信息。Wormhole被用以处理各组件的故障,具备以下几个特性:执行自动修复,集成了监视系统,自动化配置及突变处理支持,支持容量计划。 最后 虽然Storm-YARN 与Wormhole分别由不同的公司开发,但是显然他们将掀起Hadoop与Storm领域的一场飓风。随着网络公司业务的延伸,应用程序也扩展到多应用与服务混合类型,所以一场针对基础设施的运动也在如火如荼的进行着。基于数据层系统的不同需求,这些公司不得不放弃他们最初的架构,转至建设类似Storm以及Wormhole去管理不同系统之间的数据流。
|