资讯专栏INFORMATION COLUMN

探秘淘宝Hadoop集群

newsning / 770人阅读

摘要:据悉,淘宝集群拥有个节点,清一色基于英特尔处理器的服务器,其总存储容量,实际使用容量超过,日均作业数高达万,为淘宝网的日常运营做出了关键支撑。作为淘宝云梯集群元老级创建者,以及目前的负责人,他详细讲解了在淘宝的应用与发展。

当下中国超大规模的单Master节点Hadoop集群在哪里?在淘宝。

据悉,淘宝Hadoop集群拥有2860个节点,清一色基于英特尔处理器的x86服务器,其总存储容量50PB,实际使用容量超过40PB,日均作业数高达15万,为淘宝网的日常运营做出了关键支撑。对了,它还有一个很美丽的名字:“云梯”。

近日,《网络世界》记者有幸采访到了阿里集团技术共享平台核心系统研发部海量数据技术专家罗李。作为淘宝“云梯”集群元老级创建者,以及目前的负责人,他详细讲解了Hadoop在淘宝的应用与发展。

“云梯”的前世今生

“在2008年之前,淘宝内部一些业务团队,纷纷搭建了自己的Hadoop集群,但规模都很小,出了问题也都各自解决。”罗李说,“考虑到淘宝的业务确实对分布式计算系统有需要,再加上这种分散模式小集群的资源利用率不高,整个集团就决定建立一个统一的、大的分布式计算集群,为各业务线服务。”

阿里集团技术共享平台核心系统研发部海量数据技术专家 罗李

至于为什么选择Hadoop,罗李表示,当时能够达到商用水准的分布式计算技术也只有Hadoop。不过,他说:“当时整个淘宝并没有一个对Hadoop内核真正了解的人,后来是抽调了雅虎中国的核心技术人员,在2008年10月成立了专门团队。”

“2008年我也是刚进淘宝,就直接被分配到这个团队,那时整个团队包括我才四个人。到2009年,我们的‘云梯’集群刚搭起来的时候,才300台规模。”罗李告诉记者。

短短不过四年时间,“云梯”集群已经扩张到近2900台规模,成为中国规模较大的单Master节点Hadoop集群。而伴随“云梯”集群成长的罗李,也成为了中国当下为数不多的、真正精通Hadoop的高级技术人才。


Hadoop在淘宝的发展

谈起“云梯”集群名字的由来,这竟是一个有几分“无心插柳柳成行”意味的故事。原来,出于安全性等多重考虑,当时阿里集团高层是决心自主研发一套有独立自主知识产权的分布式计算系统,即后来代号为“飞天”的大规模分布式计算系统。而罗李他们研发的这个基于开源Hadoop技术的集群,最初只是被定位成一个临时的、有过渡性质的系统,目的是让淘宝的业务人员提前熟悉和使用分布式计算系统,待“飞天”成熟后再将业务移植过来。

“我们一开始就知道我们是为他们(‘飞天’系统)铺路的,所以,既然他们叫‘飞天’,那我们就叫‘云梯’好了,隐含奉献的意思。”罗李说。

只是,世事难料,大家都没有想到,四年后的今天大数据和Hadoop会如此之火,发展前景堪称一片光明,而淘宝凭借“云梯”集群也成为该技术领域的应用先锋。当然,阿里集团一直在坚持研发“飞天”集群,并取得了阶段性的成果。因此,在阿里集团内部,其实是“飞天”和“云梯”两大分布式计算系统并立的局面。

在应用中发展

从2009年的300台发展到目前2860台,这绝不只是一个机器简单堆叠的过程,而是耗费了淘宝研发人员无数的智慧与汗水。Hadoop技术本身在淘宝也获得了长足的发展。

淘宝对Hadoop进行深度重构的最重要一次实践,当属该公司根据自身的业务需求,开发了自己的Hadoop分支——ADFS。

据介绍,ADFS主要解决的是HDFS NameNode在设计上存在单点故障、内存瓶颈(因为所有的数据都是存入内存,长期以往,NameNode必将遭遇内存扩展瓶颈),以及集群重启时间过长,期间无法对集群进行写操作等问题。

而ADFS原理简单地说就是将非热点数据存入“数据库”,而非NameNode的内存。罗李说:“由于数据存放在数据库里,只要数据库‘不挂’就没有问题,NameNode的单点故障问题由此解决,同时也一并解决了内存瓶颈。系统升级不需要再停机,重启时间也由原来的一两个小时缩短到5分钟之内。总之,ADFS能提供10亿文件/目录的管理能力,其稳定性、性能和可维护性不输于甚至优于现有系统。”此外,值得一提的是,淘宝已经将ADFS开源在GitHub之上。

另一大改进,就是为减少磁盘使用量而实施了HDFS Raid技术。

“HDFS出于可靠性考虑,都是将一份数据存成三份,这意味着1GB的数据占用了3GB的存储容量,可靠性是有了,但经济性并不好。HDFS Raid就相当于Raid 10,原来1GB的数据所需要的空间从原来的3GB降到2.4GB,对我们来讲,就是上百万资金的节省,而可靠性却并没有丧失。”罗李说。

不过,罗李表示,HDFS Raid技术来源于Facebook,他们是在Facebook提供的版本上做了些改进。

此外,还一个无法被描述成“项目”的改进就是持续不断地“优化”。“虽然Hadoop的优势之一就是不够了就可以加机器,但加机器意味着更大的存储容量、更大的计算需求和更大的网络流量,对主节点都会带来新的压力,因此,每次在扩展之前,我们都要对系统进行评估,都需要优化代码。”罗李说。

罗李颇为骄傲地告诉记者,由于不断地对Hadoop内核进行优化,淘宝版本的Hadoop在性能上“比一些社区的Hadoop版本高出30%~50%”。

“毕竟,我们这么大的规模作支撑。因为系统的性能瓶颈只有在一定规模下才能暴露,而我们甚至将Java内核的漏洞都跑出来了。”罗李说。

不过,罗李坦承,自从今年七月份新的“云梯”版本上线之后,他们发现通过优化代码提高系统性能的空间越来越小了。“所以,我们开始和运维团队一起合作,打算去从硬件层面下手,例如购买更高性能的CPU、闪存、万兆网卡等。事实上,我们现在最紧缺的资源就是CPU和磁盘。”他说。

同时,罗李指出,对很多公司而言,在规模不是特别大的情况下,通过购买更强劲的硬件来提高集群性能也是一个好办法,而且其成本不一定比维持一支技术团队要高。而硬件产业链的上游厂商英特尔则公开表示,英特尔未来首要任务之一,就是要打造适用于大数据应用的“芯”,该公司今年三月发布的全新至强处理器E5产品家族,就能为分布式计算带来更优性能、能效、可扩展性和可管理性。同时,英特尔还将帮助合作伙伴打造可承载大数据应用的基础设施。

关于“云梯”集群未来的发展方向,罗李表示,短期内是存储结构和技术进行优化部署ADFS,并且开发HDFS NameNode HA技术,而长期来说,“云梯”将演变成多Master节点Hadoop集群。

如今,Hadoop之火有目共睹,那什么样的公司适合采尝试这一新兴技术?罗李回答道:“还应该是从业务角度出发。有海量数据需要处理,并且计算模型并不太复杂,对数据进行处理的过程可以分成一个个小的步骤去完成,就可以尝试Hadoop 技术。”

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/3783.html

相关文章

  • HBase在淘宝的应用和优化小结

    摘要:本篇文章将对淘宝最近一年来在应用上使用和优化的情况做一次小结。基于此,淘宝也选用了分支作为线上版本的基础。对于淘宝来说,由于数据量远没有那么大,应用也没有那么核心,因此我们采用公用以及集群的架构。   1 前言  HBase是从Hadoop中分离出来的apache较高级开源项目。由于它很好 地用Java实现了google的bigtable系统大部分特性,因此在数据量猛增的今天非常受到欢迎。对...

    xorpay 评论0 收藏0
  • Hadoop框架与MapReduce模式中谈海量数据处理

    摘要:由此,最近凡是空闲时,便在看,海量数据处理这方面的论文。本文从最基本的模式,框架开始谈起,然后由各自的架构引申开来,谈到海量数据处理,最后谈谈淘宝的海量数据产品技术架构,以为了兼备浅出与深入之效,最终,希望得到读者的喜欢与支持。     几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣, 在看过介...

    Shisui 评论0 收藏0
  • IT企业利用云计算平台Hadoop的10种方式

    摘要:能源发现雪佛龙代表解释了他们公司利用的实例通过分类和处理海洋地震数据可以预测石油储备状况。节能雪佛龙代表同时还表示还用在节能上,雪佛龙利用来支持其节能系统,顾客们按照系统提示节能的同时也节省了不少钱。 如果你是世界上广大Hadoop用户的一员,你肯定知道Google曾经靠着分布式计算技术(Hadoop),在搜索引擎和广告方面取得了举世瞩目的成就。现在的Hadoop不仅是当年的老二Yahoo的...

    Ali_ 评论0 收藏0
  • 大数据下的数据分析-Hadoop架构解析

    摘要:多年来在严苛的业务需求和数据压力下,我们几乎尝试了所有可能的大数据分析方法,最终落地于平台之上。按照大数据的数据量,分为内存级别级别海量级别三种。大数据分析的分类 随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求。   作为一家互联...

    Anchorer 评论0 收藏0
  • Hadoop大数据生态系统及常用组件简介

    摘要:大数据存储,利用的分布式存储能力,例如数据备份数据仓库等。大数据处理,利用的分布式处理能力,例如数据挖掘数据分析等。应用程序管理器负责管理整个系统中所有应用程序,包括应用程序的提交与调度器协商资源以启动监控运行状态并在失败时重新启动等。 经过多年信息化建设,我们已经进入一个神奇的大数据时代,无论是在通讯社交过程中使用的微信、QQ、电话、短信,还是吃喝玩乐时的用到的团购、电商、移动支付,...

    BenCHou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<