数据实时分析平台 Heron

Apache-2.0
Java 查看源码»
跨平台
Twitter
2015-06-04
滔哥

Twitter开源了数据实时分析平台Heron。

Twitter使用Storm实时分析海量数据已经有好几年了,并在2011年将其开源。该项目稍后开始在Apache基金会孵化,并在2015年秋天成为顶级项目。Storm以季度为发布周期,并且向着人们期望的稳定版前进。但一直以来,Twitter都在致力于开发替代方案Heron,因为Storm无法满足他们的实时处理需求。

Twitter现在已经用Heron完全替换了Storm。前者现在每天处理“数10TB的数据,生成数10亿输出元组”,在一个标准的单词计数测试中,“吞吐量提升了6到14倍,元组延迟降低到了原来的五到十分之一”,硬件减少了2/3。

当被问到Twitter是否会开源Heron时,Ramasamy说“在短时间内不会,但长期来看可能。”

然而就在2016年5月25日,Twitter正式宣布Heron开源。Twitter工程经理Karthik Ramasamy在博客上宣布了这一消息。

Heron的基本原理和方法:

实时流系统是在大规模数据分析的基础上实现系统性的分析。另外,它还需要:每分钟处理数十亿事件的能力、有秒级延迟,和行为可预见;在故障时保证数据的准确性,在达到流量峰值时是弹性的,并且易于调试和在共享的基础设施上实现简单部署。

为了满足这些需求,Twitter讨论出了几种方案,包括:扩展Storm、使用其他的开源系统、开发一个全新的平台。因为有几个需求是要求改变 Storm的核心架构,所以对它进行扩展需要一个很长的开发周期。其他的开源流处理框架并不能完美满足Twitter对于规模、吞吐量和延迟的需求。而且,这些系统也不能兼容Storm API——适应一个新的API需要重写几个topologies和修改高级的abstractions,这会导致一个很长的迁移过程。所以,Twitter决定建立 一个新的系统来满足以上提到需求和兼容Storm API。

Heron的特色:

Twitter开发Heron,主要的目标是增加性能预测、提高开发者的生产力和易于管理。

http://img.my.csdn.net/uploads/201506/03/1433299944_4898.png

图1:Heron架构

http://img.my.csdn.net/uploads/201506/03/1433299966_9679.png

图2:拓扑架构

对于Heron的整体架构请看图1和图2。用户使用Storm API来构建和提交topologies来实现一个调度。调度运行的每一个topology作为一个job,有几个容器组成,其中一个容器运行主 topology,负责管理topology。每个剩余的容器运行一个流管理器,负责数据路由——一个权值管理器,用来搜集和报告各种权值和多个 Heron实例(运行user-defined spout/bolt代码)进程。这些容器是基于集群中的节点的资源可用性来实现分配和调度。对于topology元数据,例如物理计划和执行细节,都是 保管在Zookeeper中。

Heron的功能:

  • Off the shelf scheduler:通过抽象出调度组件,我们可轻易地在一个共享的基础设施上部署,可以是多种的调度框架,比如Mesos、YARN或者一个定制的环境。

  • Handling spikes and congestion:Heron 具有一个背压机制,即在执行时的一个topology中动态地调整数据流,从而不影响数据的准确性。这在流量峰值和管道堵塞时非常有用。

http://img.my.csdn.net/uploads/201506/03/1433302007_7908.png

http://img.my.csdn.net/uploads/201506/03/1433302015_5819.png

图3:Heron UI,显示逻辑计划、物理计划和拓扑状态

  • Easy debugging:每个任务是进程级隔离的,从而很容易理解行为、性能和文件配置。此外,Heron topologies复杂的UI如图3所示,可快速和有效地排除故障问题。

  • Compatibility with Storm:Heron提供了完全兼容Storm的特性,所我们无需再为新系统投资太多的时间和资源。另外,不要更改代码就可在Heron中运行现有的Storm topologies,实现轻松地迁移。

  • Scalability and latency:Heron能够处理大规模的topologies,且满足高吞吐量和低延迟的要求。此外,该系统可以处理大量的topologies。

Heron性能

比较Heron和Storm,样本流是150,000个单词,如下图所示:

http://img.my.csdn.net/uploads/201506/03/1433302715_6599.png

图4. Throughput with acks enabled

http://img.my.csdn.net/uploads/201506/03/1433302725_9989.png

图5. Latency with acks enabled

如图4所示,Heron和Storm的吞吐量呈现线性增长的趋势。然而,在所有的实验中,Heron吞吐量比Storm高10–14倍。同样在端至端延迟方面,如图5所示,两者都在增加,可Heron延迟比Storm低5–15倍。

除此之外,Twitter已经运行topologies的规模大概是数百台的机器,其中许多实现了每秒产生数百万次事件的资源处理,完全没有问题。有了 Heron,众多topologies的每秒集群数据可达到亚秒级延迟。在这些案例中,Heron实现目标的资源消耗能够比Storm更低。

Heron at Twitter

在Twitter,Heron作为主要的流媒体系统,运行数以百万计的开发和生产topologies。由于Heron可高效使用资源,在迁移Twitter所有的topologies后,整体硬件减少了3倍,导致Twitter的基础设置效率有了显著的提升。

了解更多:https://blog.twitter.com/2015/flying-faster-with-twitter-heron

翻译来源:http://geek.csdn.net/news/detail/33750

的码云指数为
超过 的项目
加载中

评论(5)

zmyer
zmyer
Heron源码还没有公开么?想玩都没法玩 #Heron#
A
Aimiyoo
第5张图,Spout并行度增加,latency为啥还跟着增加了 #Heron#
Ryan-瑞恩
Ryan-瑞恩
开源了,,开源了。。。。https://github.com/twitter/heron #Heron#
sichaostar
sichaostar
可以耍耍了 #Heron#
ideal_github_harbby
ideal_github_harbby
mesos+aurora 部署要跪 #Heron#

Twitter 开源了数据实时分析平台 Heron

“去年才说Heron短时间内不会开源,这才一年时间就开源了。嘴上说着不要,身体倒是很诚实嘛~ 去年,Twitter对外宣布了新的分布式流计算系统Heron,随后消息称Twitter已经用Heron替换了Storm...

2016/05/28 08:20

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

TOP100summit:【分享实录】Twitter 新一代实时计算平台Heron

本篇文章内容来自2016年TOP100summit Twitter technical lead for Heron Maosong Fu 的案例分享。 编辑:Cynthia Maosong Fu:Technical Lead for Heron at Twitter 导读:人们需要处理的数据...

2017/10/23 16:44
4
0
Diesel montre pas cher donc si vous faites votre

ou peut-être que vous désirez les acheter une idée de cadeau singulier, dans ce cas, regardez toujours dans les principaux avantages de magasiner pour une montre. Différente...

2014/09/30 16:26
8
0
AutoHotKey脚本:给定三角形三边边长计算三角形面积

AutoHotKey脚本:给定三角形三边边长计算三角形面积

2016/04/26 19:35
151
1
后Hadoop时代的大数据架构

提到大数据分析平台,不得不说Hadoop系统,Hadoop到现在也超过10年的历史了,很多东西发生了变化,版本也从0.x进化到目前的2.6版本。我把2012年后定义成后Hadoop平台时代,这不是说不用Hadoo...

2016/09/08 17:30
59
0
大数据技能图谱

大数据处理框架 Spark(Spark学习脑图) - RDD - Spark SQL - Spark Streaming - MLLib Hadoop - HDFS (分布式文件系统) - Mapreduce(计算框架) - Yarn(资源管理平台) - Pig(piglatin ...

2016/03/17 14:03
543
1
LTS

长期技术支持 Long-Term Support,长期技术支持(版本)。Ubuntu Long Term Support:Ubuntu 长期技术支持版(三年),一般的版本支持为18个月。注意,这里的T是term而不是time。Ubuntu的母公...

03/19 14:12
6
0
【2016-03-11】实时计算简介

公司的实时计算分享,笔记记录一下

2016/03/11 23:35
78
1
大数据与机器学习 2016年中盘点

本文将分以下几个部分进行盘点。 一、里程碑事件 二、开源项目(国际篇) 三、业界动态(国际篇) 四、开源项目(国内篇) 五、业界动态(国内篇) 六、下半年展望 七、周报集锦 里程碑事件 Hadoop 1...

2016/07/24 23:41
70
0
2013年6月编程语言排行榜

本月最大的亮点是:JavaScript 重新回到TIOBE榜的TOP 10。但是令人惊奇的是:这个无处不在的语言竟然没有进入TOP 5。JavaScript是浏览器网页编程的必备语言……...

2013/06/09 10:39
99
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部