【阿里飞天】探索5K巅峰,云梯架设的飞天之梦

简介: 5年的时间,飞天平台从1500台的集群规模到3000台的集群规模,再到2013年8月,飞天开放平台最终成功实现单集群超越5000台、同时支持多集群跨机房计算的目标。

IDC研究显示,包含结构化和非结构化的大数据正在以每年60%的增长率持续增长,到了2020年全球数据总量将增长44倍,达到35.2ZB。而着眼国内,2013年产生的数据总量已经超过0.8ZB,两倍于2012年,相当于2009年全球的数据总量。预计到2020年,中国产生的数据总量更可能超过8.5ZB。井喷的数据在给各个机构带来数不尽机遇和财富的同时,也在存储、计算、带宽等领域给企业带来无尽的挑战。拥有数亿注册用户的阿里巴巴感受最明显——2013年3月28日,一封来自技术保障部架构师的邮件直达阿里集团最高层:

“按照数据增量与未来业务增长的情况,云梯1(以Hadoop为底层的集群)系统存储和计算能力将在6月21日到达瓶颈,数据业务将会停滞,淘数据、量子等业务都会受到影响;而云梯2(以飞天为底层的集群)也有同样的问题,阿里金融的贷款业务将因为无法进行信用数据运算而中止。”

对任何企业而言,服务压力上涨都是幸福的烦恼。而到了阿里这样的规模,不管是幸福还是烦恼都被放大了无数倍。对于大规模分布式离线存储和计算集群来说,如果原有集群不能通过简单的增添主机来增加存储空间和计算能力,横向扩展遭遇不可逾越的瓶颈,就代表着系统重构的开始。此时,摆在阿里面前只有两个选择:第一,直接扩容云梯1,从成熟度、稳定性、项目的复杂程度、投入力量来看,这条路安全有效,但基于飞天的云梯2同样岌岌可危;第二,同时扩容云梯1和云梯2,扩容后两个数据系统的单集群规模都将达到5000台,实现跨机房集群处理,但3个月的deadline和巨额的人力、物力投入同样不容忽视。

面对只有不到3个月的实施时间,这道选择题变得异常艰难——是高效地选择尽快到达“安全地带”,还是在兼顾“安全”的同时,投入大量人力、物力,选择一次史无前例的“突破”?意料之中,也是意料之外,阿里毅然选择了“背水一战”:云梯1和云梯2同时并行扩容!

扩容不可阻挡

事实上,无论是从规划理念、技术发展,还是从集群规模来看,飞天扩容的最佳时机已经到来。回顾飞天的历史。2009年,自投身云计算,阿里云就立志要自主研发出以“飞天”为代号的大规模分布式计算系统。飞天的设计宗旨就是通过构建一套综合性的软硬件系统,将数以千计的服务器连成一台“超级计算机”,并最终实现两个目标:对内,通过对这台超级计算机进行物理资源分配、程序运行操控,以及保障服务及数据安全的操作系统,支撑阿里集团服务的核心技术平台;对外,将这台超级计算机的计算、存储等资源,以公共服务的方式,输送给互联网上的用户或者其他应用系统。云梯的元老级创建者罗李(花名鬼厉)曾表示,之所以起名云梯,项目组建时就被定义为阿里云计算平台的铺路者,寓意奉献。而着眼飞天,这个项目无疑承载了阿里的云计算愿景,从第一行代码被写下时就意义非凡。

5年的时间,飞天平台从1500台的集群规模到3000台的集群规模,再到2013年8月,飞天开放平台最终成功实现单集群超越5000台、同时支持多集群跨机房计算的目标。放眼全球,能做到这一点的企业,屈指可数。

10e6afca03a9d5131e1f1fe1976e18a1b84783f7

诸神实现飞天之梦

飞天,是亲近水的一位神的名字,是可以为人们带来幸福和吉祥之神。和飞天一样,系统中的各个模块也被赋予了上古诸神的名字:分布式文件系统是开天辟地承载一切基础之神——盘古(Pangu);负责任务调度和资源管理模块的是占卜和预测之神——伏羲(Fuxi);从底层上监视和处理导致集群性能下降的集群诊断系统——华佗(Huatuo);负责网络连接的模块——夸父(Kuafu);监控系统——神农(Shennong);集群部署——大禹(Dayu)……以诸神之名,映射出的是背后的理想主义色彩。

众神协作下,飞天负责管理数据中心Linux集群的物理资源,控制分布式程序进行,并隐藏下层故障恢复和数据冗余等细节,有效地提供弹性计算和负载均衡的服务。而数千节点规模下,无论是系统的打造还是扩容都面临着众多技术挑战,在5K扩容过程中,平台的各个模块在规模性能、高可用以及可运维性等方面都做了大量的改进和优化。

■ 盘古,在内部架构上盘古采用Master/ChunkServer结构,Master管理元数据,ChunkServer负责实际数据读写,通过Client对外提供类POSIX的专有API。在集群扩展到5K规模后,相关问题纷至沓来,主要可分为两个部分:首先,盘古MasterIOPS问题,因为更大的集群意味着更多文件和更多访问,上层应用对存储亿级文件和十亿级文件集群的IOPS是有显著区别的。同时更大规模的集群让快速发展的上层应用看到了更多可能性,导致更多业务上云,存储更多数据,也间接导致了对IOPS的更高需求。此前盘古Master较低的IOPS已经限制了上层业务的快速扩张,业务高峰期时有告警,亟待提升。另外一个规模相关问题就是盘古Master冷启动速度,更多的文件和Chunk数导致更长的冷启动时间,影响集群可用性。在具体的性能优化上,主要工作有克服锁瓶颈、优化架构(包括Pipeline优化和Group Commit),以及不断深入细节反复尝试以解决规模导致的冷启动时间过长,详情请阅读《优化无极限:盘古Master优化实践》。

■ 伏羲,飞天平台的分布式调度系统。在5K攻坚中,从设计到实现每一步都可能存在性能“陷阱”,原因主要在三个方面:规模放大效应,当节点数增大到数千个时,系统中原本不是瓶颈的与规模成正比的环节,其影响会被放大;木桶效应,未经优化的那一小部分很可能成为影响系统性能的致命的瓶颈;长路径模块依赖,被依赖模块性能的不稳定性最终会影响某个请求处理的性能和稳定性。为此,阿里从通信、关键函数、模块依赖等多个方面进行了优化,详情参阅《走近伏羲,谈5000节点集群调度与性能优化》。

■ 华佗,运维的模式随着5K的到来发生了很大的改变,在解决实际问题的过程中,华佗应运而生,上通飞天系统,下达运维各种系统。其架构足够健壮、简单和开放,PE可以很方便地将自己丰富的运维经验转换成华佗的插件。华佗可以针对各种异常情况,进行故障磁盘管理还有系统异常处理,PE也可以通过它做流程和管理自动化的工作。同时,不必再做几分钟的快速人工修复,而是当故障设备积累到一定量后批量地做替换,大量地节省了人力成本。当下华佗已经运用到磁盘管理、机器管理、网络故障检测等多个场景,更多详情可关注《走近华佗,解析自动化故障处理系统背后的秘密》。

当运维的服务器达到数千台甚至上万规模机器的时候,必然会遇到诸多挑战,如硬件配置的差异化,用户数和任务数的急剧膨胀,大压力下的边界效应,小概率事件被触发等。在这个前提下需要做好快速部署,自动化运维、监控报警、Log分析、精细化计量等需求会越来越迫切。在这些方面,阿里付出了更多的心血以保证业务稳定和安全的运行,详情可见《飞天5K实战经验:大规模分布式系统运维实践》。

当飞天第一个五千台规模集群——飞天5K正式投入运营时,所承载上线的服务即是ODPS。以底层大规模分布式系统的性能优化和运维保障为基础,支撑起了更上层的平台——Open Data Processing System,开放数据处理服务。

ODPS谱写飞天5K应用

ODPS和飞天的关系,可以追溯到更早的时候。2010年春节,ODPS的前身SQL Engine第一版上线,运行在当时30台机器的飞天集群上。2011年1月,由于业务上需要支持更多数据模型,SQL Engine被重构,命名为Data Engine数据仓库发布上线,稳定运行在100台机器上。但是,Data Engine 0.2支持的数据量还远不满足需要,而且它的稳定性还有待提升。2011年Q3,飞天团队开始探索支撑集团内部数仓业务,利用莫邪(Moye)系统,在1500台机器上并行运行云梯1的生产作业,并取得了不输于Hadoop的性能和稳定性成绩。2012年Q1,团队在Data Engine和莫邪之间做技术选择,并决定使用莫邪作为

ODPS产品的核心引擎,Data Engine退出历史舞台。飞天5K项目之后,ODPS随之进入5000台机器和跨机房调度时代。作为飞天的重要模块,它不仅仅得到了扩容,而且还进一步实现了跨集群的数据复制,详情见《ODPS跨集群迁移与数据同步经验分享》。

ODPS远不只是一个简单的大数据平台,功能包括SQL,基于Java的MapReduce编程框架,图计算编程模型,一系列机器学习算法的实现等。所有的功能是以RESTful API的形式对外提供,从系统边界上说,这层API隔离了ODPS平台和用户的系统,和Hadoop的区别也很明显。ODPS设计之初就是为了对外开放,做基于互联网的多租户的公共数据处理服务,所以安全性在ODPS的设计和实现中具有最高的优先级。ODPS作为离线数据处理平台,许多新的技术也是第一次应用到5K项目,并且经受了准生产环境的检验,同时也为未来数据业务长期发展打下了坚实的基础。目前在阿里集团内部已经被广泛用于海量结构化数据的处理分析,帮助阿里集团将业务实践沉淀的海量数据进行提炼分析,从而让数据诞生新的价值。《ODPS技术架构及应用实践》一文中对这些内容有更详细的讲述。

期待更多飞天精神

时至今日,已经实现5000节点单集群的飞天5K拥有惊人的规模:10万核的计算能力;100PB存储空间 ;可处理15万并发任务数;可承载亿级别文件数目;100TB排序30分钟完成,远超今年7月1日Yahoo!在Sort Benchmark排序测试Daytona Gray Sort所创造的世界纪录——100TB排序完成时间约71分钟。

飞天5K不仅成为阿里集团最为重要的技术平台,而且集群中的计算、存储等能力已经完全以云服务的方式在对外输出。这意味着“云计算可以让一个人的公司,跟一个很大的公司,站在同一条起跑线上竞争”。

飞天5K,不仅是阿里云计算技术发展的一个里程碑,同时也将注定在中国云计算技术发展的历史中留下浓墨重彩的一笔。展望中国云计算产业的将来,期待有更多像飞天一样的技术,也期待有更多像飞天一样,百折不挠的精神。


本文转载自 CSDN  作者 郭雪梅 童阳
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
9月前
|
人工智能 运维 Cloud Native
|
9月前
|
人工智能 运维 Cloud Native
成都站丨阿里云 Serverless 技术实战营邀你来玩!
成都站丨阿里云 Serverless 技术实战营邀你来玩!
|
Cloud Native 微服务 容器
邀请函|云原生技术实践营「重庆站」
重庆阿里中心 · 南岸区复兴街 9 号中讯时代 - 30F - 龙门山庄,2023 年 4 月 18 日 9:00开始签到
428 1
邀请函|云原生技术实践营「重庆站」
|
运维 Cloud Native 大数据
阿里巴巴如何全站上云|学习笔记
快速学习阿里巴巴如何全站上云
108 0
阿里巴巴如何全站上云|学习笔记
|
消息中间件 弹性计算 NoSQL
阿里飞天计划使用体验
文章主要是介绍了我使用ecs的感受与体验,从刚开始接触,到慢慢的学会使用,再到现在真正认识到了ecs的强大,这段期间,确切的让我感受到了阿里科技带来的便捷,也让我感受到了自身成长带来的快乐。
251 0
|
数据可视化 Java Linux
飞天计划体验感言
对云计算的认识到了解,在到体验其强大的有感而发,感谢阿里云的飞天加速计划-高校学生在家做实验的活动,给我一次体验的机会,也感谢阿里云给我提供了一个这样的平台,让我们了解这项伟大的技术。
132 0
|
Linux 云计算
阿里飞天计划体验
阿里云飞天计划体验
|
Java Linux
关于我对飞天计划的感触
关于飞天计划的感触
|
弹性计算 对象存储
阿里飞天计划助飞我的梦
兴趣是最好的老师,通过这次实践,我发现我对技术这个行业有极大的兴趣。虽然现在我欠缺的还有很多,但是我相信我一定会抓住接下来在校为数不多的时间,为自己的以后考虑多一些。在此感谢阿里云这个平台,这个飞天计划会让更多未来的技术从业人员参与进来,成长自己,互利共赢。作为新时代的农名工,我们必须要自足当下,一步一个脚印。就像我的座右铭:Code Change Wolrd!
阿里飞天计划助飞我的梦
|
弹性计算 Linux
飞天计划的使用感言
我是来自重庆的一名大一学生,就读的专业是计算机科学与技术,从小就有想要自己开发和建站的想法,上了大学后就绝对一定要实现自己的梦想,想着自己搭建网站和开发环境,本来想着自己租一台服务器,但服务器的价格对于一个在校学生并不便宜,而阿里云的“飞天加速计划.高校学生在家实践”正好可以让高校学生免费领取2.5个月的云服务器,简直是我们高校学生的福利。