当下中国超大规模的单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必将遭遇内存扩展瓶颈),以及集群重启时间过长,期间无法对集群进行写操作等问题。