Hadoop中国2009云计算大会(实录)

andyyehoo 2009-11-16
【来源】http://linux.chinaunix.net/news/2009/11/15/1144192.shtml

Hadoop中国2009云计算大会(实录)


时间:2009-11-15 8:0:0
地点:中国科学院计算技术研究所
主持人:查礼
嘉宾:
徐志伟(中国科学院计算技术研究所总工程师,研究员)
Eric Baldeschwieler (VP of Engineering, Hadoop Development)
黄晓庆(中国移动通信研究院院长)
邵铮(Facebook inc.资深工程师)
Christophe Bisciglia (Cloudera公司副总裁,联合创始人)
邵辉(百度系统部总监 框计算推进小组组长)
郑皓(Technical Director,雅虎北京研发中心)
查礼(中国科学院计算技术研究所网络重点实验室,副研究员)


[主持人 查礼]:大家上午好!首先介绍一下,今天到场的嘉宾有:中科院计算所总工徐志伟先生,雅虎软件开发副总裁Eric Baldeschwieler,中国移动通信研究院黄晓庆院长,百度系统部总监邵辉先生,雅虎北京研发总经理张晨先生,Facebook资深工程师邵铮先生。Hadoop此前举行了两届。本次大会的主题思想是挑战协作创新社区。其意义在于探讨Hadoop发展和应用中面临挑战的问题,如我们所知,近几年来Hadoop吸引了学术界和产业界的注意,特别是很多互联网公司在使用Hadoop进行生产和运行,比如说雅虎和facebook,我个人认为,这都得益于两点,第一,Hadoop是面向应用问题,第二,Hadoop是开放源码的软件。Hadoop是针对解决处理海量数据而设计的,这个问题是众多互联网公司需要面对的,开放源码不仅提供了工具,也提供了交流和合作的舞台,希望通过广大Hadoop爱好者的努力,使Hadoop越来越强大,越来越好用,甚至催生Hadoop新的互联网的应用。      9:16

[徐志伟]:非常欢迎海内外的朋友们来参加这次会议。我们的所长李国杰院士今天突然到去出差,所以他让我来转达他对我们的祝贺,而且我们计算所看见这个Hadoop club,原来是一个草根运动,现在得到企业界的一致支持,尤其是年轻的同学们的参与,这是我们非常高兴看见的。计算所也将一如既往继续支持这种社区性的活动。      9:21

[徐志伟]:今天我想跟大家谈三个问题,第一,我们可能十几年以前就在做网络计算的研究,以前的名词是叫别的,不像今天叫的很热的“云计算”,这是计算所长期的战略,我想跟大家讲讲计算所为什么要做这样的事情,另外它的关注重点是什么,还有我跟大家举几个例子。      9:22

[徐志伟]:我们计算所做事情主要有两个因素,一是要有国家战略需求,第二跟我们的学科——计算机科学技术的学科发展密切相关。我先给大家讲讲市场的需求,有一个怪现象,不知道大家注意没有?从长远的角度看,我们全球的计算机市场现在增速开始放缓了,最近八年,已经到单位数了,再往下计算机就不增了,我们就变成夕阳产业了,有没有这种可能?这会影响计算机的教育,我们还招这么多学生来干什么?他们毕业以后找工作会很麻烦,而且我们的研究是不是也有新的挑战?这是一个非常值得我们深思的问题。我们中国比国外好,就是我们现在还是双位数增长,但是更重要的一个问题,就是我们能不能够把这个趋势逆转,有没有机会逆转它?不要觉得我们已经到顶了,我们能不能够想到,现在我们才刚刚开始,如果刚刚开始,以后的东西是什么,肯定不是我们现在已经看见的东西,现在的东西可能就10%,还有大量的东西发挥出来,而这些发展的东西,很多会由我们今天在座的人发明出来。      9:23

[徐志伟]:第二,看我们中国的市场,科学院经过两年的战略研究,我们有一些结论,第一个结论是,我们的市场可能至少会再增长10倍,有可能会增长20倍。这有一个根本的原因。从我们学科来讲,就是网络计算出现了。网络计算会成为我们计算机的一个缺省的模式,而且从我们学科上讲,我们要从以前人机共生,传统的东西,要扩展为三元世界,就是人类社会和自然物理世界三个东西会连在一起的,连在一起以后有很多非常多的新需求,我们还没有挖掘的,比如说最近很多兴起的社会网络计算,社会计算,就是人类社会和我们“cyberspace”结合以后的新产物,我们看见的东西刚刚开始,包括我们做得很好的厂商,在交流的时候,他们都告诉我们,他们自己觉得,其实还有非常多的挑战和非常多的机遇现在还没有来得及挖掘出来。这对我们中国特别重要,因为我们中国和现在全球其他地方不一样的是,中国现在的IT占国际IT市场的比例是非常小,尽管经过这么多年的努力,我们千万别忘了我们是一个发展中国家,可能在20年之内还是一个发展中国家,我们现在国内有些错误的判断,那个数据是完全错误的,他们认为好像中国快跟美国差不多了,其实根据中国科学院的计算,要到2050年,我们人均IT花费才有可能达到美国今天的水平,所以即使到2050年,我们的信息产业的叫IT“wirefair”这个来算的话,我们还是要跟美国落后50年的,按人均来算。所以我们现在还有非常非常多的机会,这点千万别忘记,因此我们就需要研究这里面到底有哪些东西。      9:27

[徐志伟]:但是我们有一个优点,就是中国有一个特点,我们以后肯定会成为全球信息市场用户最多的,而且有可能经过今后几十年的努力,中国可能会成为全球最大的信息市场。这个市场的推动力有很多可能就是我们在座的人来做的。像我们有好多互联网公司,跟传统的IT公司有一个不同的特点,开始发起的时候就几个人,即使到现在,已经在支持几亿用户的时候,实际上技术人员就几百人。这是互联网给我们带来的一个新的机遇,网络计算带来的新的机遇,完全和以前的生态环境是不一样的,我们怎么利用这个东西,也是我们的一个挑战。      9:28

[徐志伟]:我这儿列了一些数据,现在有一个好处,软件我们国家开始增长了,我们的服务业占的比例也增长了,这些都是我们的结构在开始转型。      9:28

[徐志伟]:下一个我跟大家讲一讲我们计算所的学科发展方面,是我们很多研究生同学特别重视的。我们都在讲分布式计算,网络计算,什么叫网络计算?这些事情不搞清楚,有好多时候大家觉得很奇怪,经常大家就问,百度和Google这样的公司,明明是分布在全国,好多地方都有他们的服务器在跑的,为什么要说他是集中式系统?其实我们讲讲集中和控制就清楚了,什么叫分布式系统,什么叫分散系统,像Web这样的东西和语音集中式的系统有什么不同,科学院的研究,我们的IT好像有三国定律,分久必合,合久必分,大概的周期是15年,也可能长一些。我们语音计算,从集中往下一次分中间的一个阶段,现在还没有完全实现到真正的分,语音计算大部分还是集中提供的,但是有一个原来的服务器可能是不一样的,这里有一些规律性的东西,现在有些人来说“computing”实际上是软件大型机,但是有一个历史的必然性,从这个产业来看。      9:31

[徐志伟]:网络计算前几年炒得比较热的词叫网格计算,网络速度上去以后,很多资源会分到别的地方,科学界叫网格,我们企业叫cloud,我们计算所做的第一方面是网格方面,我列了一下现状,现状主要是两块,在科学界建了很多基础设施,大家可以看看,其中国际上最主要的几个网格基础设施,中国有一个国家网格,上面有各种领域的科学的应用。但是关键问题是,现在我们到了云计算了,云计算正在发展,发展趋势会是什么呢?现在大家都不知道,我们认为,以后很可能,尤其对中国来讲,一个迫切的需求就是怎么为老百姓服务,为我们以后可能会有上十亿的IT用户服务,我们起了个名字叫普惠计算,我们已经开始看到一些基础应用,但是这方面的机会还是非常多的。      9:34

[徐志伟]:我们ICT关注的重点是什么呢?第一、我们要为企业和社会提供思想,提供科学技术方面的研究,还有当然要提供人才。比如说在思想方面,我们最近的一个成果就是刚刚出版的至2050年信息科技发展路线图,其中为计算,普惠计算,尤其是网络计算我们要构建普惠泛在的信息网络,这个是我们今后几十年的一个重要任务和一个研究机会。另外我们也关注计算平台,比如说像我们出去看那个展览的话,有我们的GOS和我们现在的云计算平台,还有一些基础研究的东西。计算所积极参加开源社区,我们今天参加了Hadoop,还有和欧盟合作的Xtreemos,还有OMII这样的开源社区,我们的学术点重在平台软件方面,而且我们关注的是可扩展性,一致性,容错性,局部性,易用性这方面,我们是从计算的模式,尤其是“状态”,这是一个非常重要的概念,在网络计算中,状态到底怎么定义,哪些地方应该是无状态,和有状态的,还有调度,以及怎么编程这方面,我们关注的跟开源社区有些不一样,我们除了要开发这个代码以外,还要着重分析和综合。比如说我举个例子,现在我们的好多网络计算,都受了“Eric Brooklyn”定理的影响,大家都知道,我们的一致性,分区容错性,和易用性最多得到两个,不能全得到怎么办呢?有好多是不满足我们现在的很多需求的,这里面就有非常多的研究问题。而且我们最近还做了一项分析工作,就是云计算面临的七个挑战,今天时间关系我就不一一说了。      9:37

[徐志伟]:还有一点就是我们怎么提高效率,现在的数据中心已经越来越庞大,而且以后还可能会继续庞大,怎么管理这么多东西,成本怎么降低,效率怎么提高,以及功耗怎么降低,这些都是很大的问题。他的利用率实际是很低的,在全世界都有很多的调查,我们从公开的资料就看得见,很多地方调查服务器的利用率数据中心当中只有10%不到的,我们国内有很多地方只有8%,有些大公司,内部的数据中心和服务器的利用率也很低,到底是怎么回事,大家觉得,第一,你再给他塞点进去算就行了,其实问题是你没有办法塞进去了,他看起来是低,一塞进去以后,你的业务就跑不动了。我们右边有个图,我们研究出来的,如果想把他的负载提高,他的响应时间和成功执行的时间会大幅度降低,根本不能满足用户的需求,并不是说,明明是空闲的,你就塞不上去,这里面有很多很多原因,你怎么应对呢?我们计算所也研究了其中一个,就是怎么能够利用我们网络计算的涌现现象提高这个东西。      9:39

[徐志伟]:这个涌现现象和我们计算机科学领域一个局部性是密切相关的,大家知道,计算机系统里面局部性是一个最要命的概念,非常基本的概念,局部性原理,相当于计算机的牛顿定律一样,如果没有局部性,计算机产业就彻底死掉了。现在在网络计算当中有什么局部性呢?我们能不能利用人机物三元世界的涌现现象,这就是我们研究的,比如说在数据方面,我们在研究,假如有很多很多用户都在访问数据的话,他们都是独立的,有没有局部性呢?而且他的数据源来源好多地方,这是一个典型的数据集成问题,有好多好多都是这样干的,我们科学界有,互联网服务都有这样的问题,我们有一个研究结果,就是发现了确实存在一种新的涌现现象,叫请求局部性,然后我们发明了一种新的技术叫请求窗口,大家可以去看上面我们计算所的文章。而且他的效果确实很好,你不用加任何硬件,就是好好利用新的局部性就可以提升他的吞吐力。      9:40

[徐志伟]:还有一个就是关于数据类的,计算类的也有这个问题,现在我们好多调度,计算调度,能够把效率提升上去,我们也做了这样的分散情况,这个方面在经济学界有很多研究,我们这方面还没有这样的规律,就是分布式调度里面,大家也开始有些工作,但是使用这种非集中的方式还比较少。所以我们最后想到了一定这样的话,就可以利用经济学结合我们计算机的算法科学和博弈论game theory做调度,这样的东西我觉得跟我们以后云计算和网络计算有很大的相关性。最后的效果就是,我们确确实实能够大幅度改善这方面的效率,所以,数据中心效率很低。      9:40

[徐志伟]:刚才是偏基础研究的,我们现在正在想把基础研究的结果怎么能够用上去,还有我们也做了很多软件,比如说我们的一个GOS,一个是system software,这个主要用CNgrid的,还有好多用户不愿意自己建一个网格,他想我能不能做一个Gateway用网上的资源,这是很受欢迎的,包括汽车行业的用户也在用这样的东西,这个我们也在全国12个地方部署了,这种HPC的Gateway,还有数据类的,这和Hadoop相关。还有一个我们现在正在发展的就是希望以后我们做一个云计算的平台,能够针对科学计算,大量的数据和各种集成来做的,这个目前我们有些初步的版本了,这个可能是更切合,不光是高性能计算,还有就是数据服务的这样的应用。      9:41

[徐志伟]:我今天的讲话就到这儿为止,我最后想说一句,计算所是国家的研究所,我们的责任是向社会提供思想、技术和人才,我们非常愿意和我们的开源社区,像Hadoop这样的开源社区和很多志愿者一块合作,让我们联合起来,让我们的开源事业越来越进步,能够支撑我们中国的企业,并为世界的开源事业做出贡献,谢谢大家。      9:42

[主持人 查礼]:徐老师的报告非常精彩,下面本来应该是由咱们雅虎的Eric来做报告,但是他现在正在接受采访,我介绍一下我们大会组委会的成员,因为他们在这个会议当中做出了很多工作,非常的辛苦。每个人对这个活动做一下展望。      9:42

[王守彦(百度系统部项目经理)]:之前我也参加过两次的Hadoop沙龙,最早只有十几个人,到第二次有五六十人,现在有好几百人,我希望中国的开源社区能够发展得越来越好,越来越壮大,这样的话我们整个技术实力也会得到很大的提升。      9:43

[邵铮(Facebook公司资深工程师)]:大家好,我今天也是第三次来到Hadoop的会场,非常高兴继续介绍相关的一些技术,我特别希望中国的这些研究院以及公司更多的加入开源社区,能够开始对开源社区做出贡献,同时从开源社区当中获得更多的回报,在美国,开源这个方式或者说Open这个方式已经得到了非常非常大的应用,并且对整个行业各个公司都起到非常大的促进作用,在中国我感觉刚刚开始,希望大家一起努力往这个方向一起发展。      9:43

[韩轶平(雅虎北京全球软件研发中心)]:我是今年9月刚刚回到北京加入雅虎北京研发中心的,在此之前我在雅虎美国的总部工作,其实我跟邵铮以前是同事,我们两个也是Hadoop坚定的支持者和推动者,我记得,我第一次参加Hadoop在中国的活动的时候,邵铮第一次参加这个活动之前,我特地到他家去,我们做了差不多两个小时多的彻夜长谈,我们当时惴惴不安,第一次在中国搞这样的活动,多少人会参与,我后来又跟他彻夜长谈,谈了两个小时,看到很多人参加,今天第三次活动的时候,已经到了一个空前的规模,我们真的很高兴,包括我这一次,我加入北京的雅虎研发中心,我一个很大的任务就是说,在中国也好,在雅虎北京也好,推动云计算和Hadoop开发和应用的工作,我希望大家多多的参与进来,参与这个应用,参与开发,参与到开源社区里来,谢谢大家。      9:46

[郑皓]:我很兴奋的看到,第二次是第一次的二倍,第三次是第一次的三倍,这样的发展我们很荣幸请到很多从国外的对Hadoop有直接影响的同事,我希望利用这个机会,能促进国内和国外在云计算开发应用上的交流,我感谢各位今天能够来参加,另外几位同事讲了很多了,我不再多提了,谢谢。      9:47

[Eric Baldeschwieler]:首先谈一下开源社区,Hadoop怎么在雅虎应用,这幅图展现的是Hadoop大家贡献新的功能的变化,这是很令人振奋的,这几年以来增加的贡献的数量是一种几何级数的增长。这个图展现了除Hadoop核心模块以外还包括了一些扩展功能的模块。所以这个图也显示出了不仅Hadoop本身很有价值,在上面建立整个生态系统都是相当有影响力的。这幅图展示的是在Hadoop开源社区邮件列表里面的邮件数量的变化,我们的目的不仅仅给大家一个免费的软件使用,更多的希望整个社区中的开发人员参与到开发和讨论中来。下面这一页展示的是Hadoop在整个业界使用的增长情况,除了Yahoo以外有很多的公司已经开始使用了。这个是从Apache列表中取得的,还有很多公司没有在列表上体现,中国有像百度这样的公司也在使用。      9:48

[Eric Baldeschwieler]:下面我讲一下在雅虎中我们如何使用Hadoop。雅虎是世界上最大的Hadoop用户,也是Hadoop最大贡献者。雅虎是第一个深入使用和开发Hadoop的公司。我很高兴看到Hadoop有今天的成功,我们提供了一个Hadoop分发版本给大家,这个版本和雅虎内部使用的本本完全一致。所以大家使用这个版本的话地我们能在雅虎内部做的一切事情大家也可以做。今天我们在美国、北京和印度、有很大的研发队伍。最后一点我要提的是雅虎并不向外出售Hadoop的服务,我们只是使用Hadoop为公司内部建立服务。我们投资Hadoop的原因,我们认为Hadoop对雅虎的公司发展有支持意义。      9:52

[Eric Baldeschwieler]:下面这幅图展示的是目前雅虎内部最大的Hadoop应用的规模,我们大概现在有超过一万个CPU的单个集群在使用Hadoop,有超过500个研发人员在使用Hadoop。同时雅虎也是Hadoop最大的测试者。在我们向外分发雅虎Hadoop版本之前,我们会进行多层次测试,以确保它的稳定性。我们有一组专门的集群用来测试Hadoop性能和稳定性。我们还有一个2500个结点的集群专门用来验证Hadoop新概念和新的设计。在雅虎内的任何人,可以自由的使用这些机器。我们的大部分机器是用于研究和开发的集群,最后我们还有很大一部分机器是用作生产运行的集群。所以大家所见到的Hadoop分发版本是在各个层次的集群上面已经经过运行和验证以后的。      9:53

[Eric Baldeschwieler]:我们也是Hadoop最大的贡献者。从历史上讲,72%的Hadoop的开发是由雅虎贡献的。我们很高兴的看到,随着时间的推移,雅虎的贡献率正在降低,这也意味着从其他的机构所来的贡献正在逐渐的增大。我们也是Hadoop贡献者的最大雇主。      9:54

[Eric Baldeschwieler]:最后这是Hadoop的发展历程。2004年Hadoop的最初版本开发完成了,2005年的时候,转移到了一个新的架构上,2006年的时候,Apache的Hadoop项目正式建立。我们在不断增加Hadoop的可扩展性,使得他能够用于越来越大的集群上。2006年的时候我们有500个机器在42小时排序了500T的数据。2007年,我们使用900个机器排序同样的数据只用了7.8个小时。在雅虎内部我们当时已经有两个1000台机器的集群。      9:56

[Eric Baldeschwieler]:为什么雅虎要使用Hadoop,雅虎有每月超过5亿的用户来访问,我们有数以万亿计的访问,有大量的数据,雅虎所做的很多事情都依赖于对大含量数据的分析。我们需要对数据及时的进行分析,在数据中挖掘规律和特征。      9:58

[Eric Baldeschwieler]:我们希望能够在雅虎的各个部门之间共享数据和计算架构。随着我们不断的投入,硬件的投入,我们也希望有一个架构能够处理硬件的失效等等问题。这是雅虎的主页,虽然这些主页上的数据并不是直接从Hadoop上取得的,但是这些数据的处理是在Hadoop上完成的,所以你在雅虎主页上面进行搜索或看到的广告,这些服务的后台都是由Hadoop上的应用所完成的。所以雅虎Hadoop集群有很大一部分是做相关的后台处理。现在我们也用Hadoop进行内容处理、做垃圾邮件过滤,内容优化和内容管理等等,而雅虎所提供的内容本身也是存储Hadoop上,所以Hadoop在雅虎是得到了全面的应用。      9:59

[Eric Baldeschwieler]:这里是一些例子,在雅虎所用的一些大规模的Hadoop应用中,Webmap是雅虎最大的Hadoop应用,今天Webmap70个小时处理超过490TB的数据,Webmap的数据在不断增长中,这种增长不仅仅是数据量的增加,也包括算法复杂性的增加,我们惊喜的看到Hadoop能够很好的处理复杂度和数据量的增长。      10:1

[Eric Baldeschwieler]:另一个例子是我们使用Jim Gray排序的benchmark,现在我们也可以在62秒之内排序1TB的数据。我很高兴的来展示随着Hadoop性能不断增长,去年我们也用了16.25个小时排序了一个TB的数据。今天雅虎最大的Hadoop集群拥有6000个结点。有3200个内核,16TB的硬盘。      10:3

[Eric Baldeschwieler]:下面介绍一下Hadoop对于生产运营的影响。很多人认为Hadoop能够减少硬件投资的开销,实际Hadoop还能够提高开发和研究的效率。从这个意义上讲,Hadoop对最后公司运营产生的效益甚至要更大于减少硬件投资。Hadoop能够提高从研发到生产的转移的效率,Hadoop也被证明了容易学习,使得我们不需要有专门的技术人员来连接研究和生产之间的差距。      10:4

[Eric Baldeschwieler]:为什么Hadoop有这样一些生产效率的优势?第一、雅虎所处理的数据规模决定了我们不可能把研发在台式电脑上进行,只能在大规模集群上进行。这就使得集群的管理成为一个很大的挑战,因为科学家可能会要求能不能给我几百个机器,而很多这样的要求相互之间的对于资源的竞争,对于管理是一个很大的挑战。同时科学家也需要花很多时间去寻找到底如何使用这个集群,如何使用计算平台,Hadoop的出现,使这些工作大量减少这方面的开销,使得他们把精力更集中在研究上。以上的这些根本上改变了雅虎的科学家们如何进行研究和开发。我们的研发人员不需要把知识转移给开发人员,他们可以直接开发有生产品质的产品。他们可以使用高级语言直接开发Java、Python、Pig。      10:6

[Eric Baldeschwieler]:下面是一个提高生产效率的例子。我们的搜索助手在用户输入关键词的时候,给出一些建议和提示,搜索助手所使用的数据库是在Hadoop上建立的。这个数据库是从雅虎过去三年的搜索记录中生成的,在使用Hadoop之前,我们的开发团队需要26天的时间去生成这个数据库,在使用Hadoop之后同样的工作只需要20分钟完成。这就意味着我们的研发人员可以在数据上进行实验,然后快速的建立一个新的版本,而不需要等待很长时间。      10:7

[Eric Baldeschwieler]:过去的版本使用C++语言书写,而如今他们用Python书写更加简单。从开发时间来讲,C++的版本需要2—3周时间开发,而现在的版本只需要2—3天完成。      10:9

[Eric Baldeschwieler]:另一个雅虎的生产效率提高的来源是Pig,今天雅虎内部的Hadoop的任务有超过一半是使用Pig书写,我们的研发人员现在只用1/16的开发时间,Pig确实要更多的时间,要两倍的时间去运行这些任务。但是我们的研发人员更关心的是他们研发的效率而不是这个程序运行的效率。因为他们认为,如果他们能够把产品的算法提高20倍的效率,他们就能够使这个最终的运行时间提高10倍。并且最新版本的Pig性能正在不断提高。      10:10

[Eric Baldeschwieler]:下面这个例子展示Pig为什么容易使用,左边是用Java使用的,右边是用Pig使用的,大家可以看到,Pig简单很多。下面我谈一下我们对Hadoop的一些改进。其中一个我们的工作重点是提高Hadoop的向下兼容性,向下兼容性使得新版本的Hadoop的部署变得更容易,      10:12

[Eric Baldeschwieler]:其次我们对文件系统进行改进,增加了同步和增添两项功能。第三、我们改进了任务调度器,Hadoop0.20包括了新的任务调度器。另一点是我们改进了Hadoop的安全性,最后我们提高了Hadoop的性能,提供了新的banchmark和工具改善Hadoop性能。      10:12

[Eric Baldeschwieler]:第二,关于Pig,我们为Pig增加了SQL和metadata。我们增加了列存储和多查询的优化。下一个是关于Oozie,是一个新的工作流和调度的程序。      10:16

[主持人 查礼]:感谢Eric。现在是休息时间。      10:38

[主持人 查礼]:下面是由中国移动黄晓庆院长来做精彩报告,请大家欢迎。      10:46

[黄晓庆]:我就用英文讲,没问题吧。没问题。      10:47

[黄晓庆]:之前我们听到了雅虎在Hadoop上的贡献,我们觉得很让人印象深刻,我先讲一下中国移动在Hadoop上面的工作。不仅是技术上的研发,也讲一下商品化的情况。我讲一下中国移动和Hadoop和开源社区之间的关系。      10:48

[黄晓庆]:我们的项目叫做大云,我们认为云应该是大的。我们的目的是为了建立一个系统,为了满足我们内部对高性能计算的需求。我们有36TB的数据,同时正在快速增长中。      10:49

[黄晓庆]:第二点我们所关注的是可能会利用这些技术来建立一个互联网的服务平台,我们希望能建立一些云的服务,能够出售给公众。最近我们刚刚发布了大云的1.5版本,是基于稳定的Hadoop版本。      10:49

[黄晓庆]:我作为云计算国家委员会的成员,也希望这个能够为国家网络做出一些贡献。我们将今后的业务分成三个方向,第一、基础架构。第二部分是平台级的服务。这一部分我们会着重于收费、服务等方面。基于这两方面之上,我们希望能提供“软件即服务”。我们的目的是帮助中小企业来减少他们的IT成本和复杂性。我们也同时提供办公自动化的解决方案,我们希望将来我们可以利用云计算的技术来实现这些设想。      10:53

[黄晓庆]:这是我们大云的架构图。我们使用Xen作为底层。在此之上我们实现了增强的DFS作为存储平台,过去我们是建立服务,软件,并交由托管业务。我们希望新的平台能够完全根本性的改变Internet工业的格局,不需要购买硬件设备和开发软件,事实上国际上有很多互联网企业已经是基于这个模式运行。      10:59

[黄晓庆]:在这儿我会讲一下我们在Hadoop上做的一些工作。我们建立了一个管理系统,我们希望能够成为中央管理模块,叫做CloudMaster。我们也花了一些精力解决Hadoop现有的一些问题。我们增加了多名字结点,我们还进行了一些数据挖掘和搜索的开发。这不仅仅可以被应用于互联网行业,更可以广泛应用于广义的数据挖掘方面。在此之上大家可以看到,我们建立了很多应用。今天我们有一个256个结点的Hadoop系统,共有1024个CPU,这是一个研究性系统,我们希望明年建立更大的用于生产的集群。我们对比了传统的高性能计算解决方案和Hadoop,同样的成本下,我们可以得到1—2倍的性能增加。      11:0

[黄晓庆]:我想特别谈一下数据挖掘这个应用,我们开发了一些基于Hadoop的算法,其中有一些是经典的数据挖掘算法,所以我们已经将他们使用在很多实际生产运行中。我们试图挖掘用户关系,通过用户的日志,和传统系统相比,这个系统使用了1/6的成本实现了6倍的性能。      11:5

[黄晓庆]:下一点我要谈的是HDFS的名字结点的扩展。多数公司认为单一名字结点已经足够,但是对于通信企业来说,这就是一个问题,所以我们设计了一个多名字结点的架构。当然我们增加名字结点会增加成本,但是你所得到的是高可靠性和增加的性能。我们希望能够和Hadoop的开源社区进行交流,将这一部分贡献给大家。我们刚刚开始和开源社区进行交互,我希望能够更多的增加对开源社区的贡献。我们希望跟雅虎增加合作,同时我们也愿意很积极的参与到开源社区的开发中。      11:7

[黄晓庆]:下面是我对开源社区的一些建议。我们见到了Hadoop用户在飞速增长,我们希望有一个更全球性的开发贡献。我很高兴看到72%的贡献来自雅虎,但是我们认为对Hadoop长远发展这并不是一个最好的现象,我们希望用Hadoop的用户都有一些贡献。      11:8

[黄晓庆]:第二、我希望能够建立一些基于开源社区的云计算规范标准,使得不同的应用能够遵循这些标准从而不需要只绑定在一个平台上。一个例子是亚马逊的云计算应用,用户可能希望能够运行在另一个非亚马逊的平台上。另一点是我们希望有更多的社区开发交流活动。包括大型的会议或者是小型的研讨会。      11:12

[黄晓庆]:最后一点,中国移动会继续支持Hadoop in China的大会。中国移动将会赞助下一届的Hadoop大会。      11:12

[主持人 查礼]:下一个报告是Facebook的邵铮来做。      11:13

[邵铮]:谢谢大家,我非常高兴今天第三次来到这个大会上,来给大家分享一些Hadoop使用的经验和体会,刚才黄院长讲到Hadoop需要大家的支持和大家的贡献,今天我就想以Hive为一个例子,在Hadoop之上进行开发贡献的一些体会。      11:15

[邵铮]:下面是简要的一个时间表,这个时间表记录了Hive发展过程当中三个主要的阶段,第一个阶段是准备的阶段,从2007年中开始,在Facebook生产的环境当中,传统的数据仓库的解决方案,我们发现非常多的挑战,这也是为什么我们当时在分析比较各种各样的Solution后,把Hadoop作为方案的基石。第二个阶段是08年开始的,第三个阶段是去年9月份开始的。下面我们一一来介绍一下两个阶段所经历的主要过程和一些决定。      11:16

[邵铮]:2007年中的时候,Facebook遇到了数据仓库的可伸缩性问题,当时我们数据非常大,这张图是我们最最简单的一个系统结构,我们当时大约有3000台的HTVBserver,同时接受用户的请求,同时产生大量的“拉五”的数据,我们记录在第三方提供的这种大型的网络存储设备上,我们使用的系统非常非常的稳定,也非常非常昂贵,存储量非常大,但是不是特别大,每个机器存储量50—100个TB这样的一个量级,同时我们有很多数据存储其中,所有做数据处理的时候,数据仓库通过20台我们叫dataWorkers来实现的,当时出现问题就是我们发现需要使用超过20小时时间,才处理一天的数据,可见不久的将来,处理数据就会超过一天,这时候我们就没有办法跟上应用的需求。这个时候我们就开始分析我们自己公司的一些情况,然后在各个不同的trace当中选择自己的一个Solution,当时考虑几个需求,第一个是可伸缩性,我们数据增长量非常非常快,当时预计是5—10倍之间,这个可伸缩性要求非常非常高,我们希望这个系统支持几百台到数千台机群的规模。第二、开放性,或者说灵活性,因为我们希望这个系统能够非常容易加入新的功能,这样的话我们在遇到我们新问题的时候,很容易修改原来的Solution来解决。第三、时间,时间非常紧张,我们希望尽快推出这样一个系统满足我们的业务需求。      11:21

[邵铮]:当时主要的选择有四个,第一、使用第三方专有的系统,或者我们可以从头开始,来创建一个新的系统,或者我们就从Hadoop之上,或者从其他的入手。我们当时工程师少于10个工程师,大部分的工程师的时间都是用来支持线上的一些服务,就是我们的一些ETL,这些数据怎么把他从在线的系统取下来,放到我们数据仓库当中,怎么从中产生一些数据的报告。我们确实也在不停的想要招聘更多的工程师,但是招聘更多人,并不是非常容易,特别是找到很合适的人,基于这些因素,我们做一些分析,首先我们排除第三方专有方案,首先他非常昂贵,并且不是很灵活,我们想增加新的功能,需要和第三方厂商联系,许多很多的时间才能加入新的功能,并且大多数第三方厂商,他们考虑的应用方案是给中小型的公司使用的,针对稍微大型的公司,很难满足我们的需求。      11:22

[邵铮]:第二、我们如果从头开始的话,将要花费巨大的时间,这也是我们一开始排除的方案,我们比较Hadoop和其他的方案的时候,它的性能可能不是最好的,他的潜力是最高的,因为这些原因我们最终选择了Hadoop这样的方案。当时我们使用0.15的这个版本,当时遇到很多bug,都修复了,但是没有遇到大的问题,Hadoop我们感觉主要的优势是两点,第一、他的可伸缩性非常强,雅虎公司对Hadoop不遗余力的支持,一直到现在,社区也在不断的扩展,更多的公司加入这个社区,讨论非常热烈,有很多公司在使用这个系统,也使我们增强了我们使用这个系统的信心。所以我们认为Hadoop有非常大的潜力。      11:25

[邵铮]:当然也有一些缺点,当时认为Hadoop性能还有一些问题,我们认为这个性能不是大的问题,Hadoop design很容易解决的,比如说使用Java language都不是非常难解决。第二个问题,用起来不是非常方便,如果每个新的员工学习是非常大的问题,当时我们进行Hive的一些实验,主要就是因为我们公司的内部除了这个工程师以外,还有一些做数据分析的,他们也希望使用这个系统,他们只会使用language,在Hadoop之上,有更高层次的language,没有支持的,我们开始进行最简单的使用,当然不是使用language,但是非常非常有用,生产环节当中有一些环节使用我们这个系统了,这使得我们更加相信这是一条正确的道路,所以我们从那个时候开始,对Hive project做了更长远的规划,投入更多的资源去开发。      11:29

[邵铮]:当时我们考虑的主要的优先级有两条,一个是我们在一开始的时候,就希望能够得到一个比较好的这样一个设计,因为好的设计,能够使得我们project走得更远。当时基于这两点的考虑,我们没有把project直接给open source。我们当时差不多有10个工程师在FB内部,来进行这些设计和开发,用了大约将近6个月的时间推出了Hive的第一个版本,当时有一些这些设计,其实我们也是通过一些渠道open source committee,像邮件列表或者是一些会议,像open source committee有一些展示,但是没有让它加入讨论,这样会使我们project进度会变慢,2008年9月份的时候,第一个可用的版本,是给Hadoop 0.17版本用的,为什么我们把Hive用于open source呢,对于一个公司来说,本身工程师的资源都是有限的,要支持一个很大规模的项目,很不容易,而Hive project是比较普适的project,不管是建议和意见也好,还是使用的经验也好,还是直接有代码的也好,对Facebook也有好处,FB我们一直把自己作为一个技术公司来对待,我们要树立在技术行业里的形象,Hive进一步加强了我们公司这个形象,这个结果导致我们招聘新员工的时候,有很大的好处,很多员工,很多这种我们公司招聘的人,他们事先都知道,Facebook在Open source领域的一些贡献,新的员工加入我们公司的时候,他们很可能已经学会了使用Hive这个系统,加入公司直接开始工作,而不需要一些额外的培训,总体来讲大大减少我们在研发方面的费用。      11:32

[邵铮]:对于其他公司来讲,Hive是一个比较通用的这样一个solution,对其他公司也可以节省大量的资源,对学术界来讲,Hive已经成为一个研究的平台,已经有若干篇文章发表在世界顶级的会议之上,我们认为这样一种举动可以解决社会当中的重复劳动,提高社会的资源利用率。      11:33

[邵铮]:下面就是Hive在2008年9月,核心的系统一定要非常简单,并且是松散型的结构,我们把系统的接口全部都open,这样利用其他公司和个人加入开发的过程,来做competition,同时加入的时候,我们也同时考虑公司内部的需求和整个社会的需求,在两个之间做一个比较好的权衡,代码库存储Facebook内部的代码只是在Apache代码库的拷贝,我们定期的把Apache流到Facebook,这样我们可以控制新的功能,每次我们移到新的版本的时候,都需要做很多很多测试,Facebook也有一些专有的课,和我们业务相关,这些课和Hive有关系,但是这些课只有FB内部才有。另外一方面,关于讨论以及一些开发到底是怎么样去组织,我们也是大量采用来组织讨论,这样的好处,大家都可以很容易的看到我们Hive发展的过程,后来人,新加入的人,很容易了解Hive当初做一些设计的时候,当时的考虑是什么,我们发现这一点是非常非常的好。      11:36

[邵铮]:内部也有一些工具,但是内部的工具,Facebook内部的工具,只是用来做FBFacebook内部评测的使用,这些信息没有必要,我们也不会把它公布到外面去,对外面的公司估计也不会有什么帮助。对于新用户,加入到Hive这个领域的新用户,我们通过邮件列表和其他一些方式提供一些支持,现在越来越多有比较熟练的这些Hive用户帮助新用户解决问题,逐渐形成了正向的正反馈。      11:37

[邵铮]:现在我们再来检查一下Hive到底是什么样的情况,在今年夏天的时候,我们对Hive的性能做一个评测,评测的结果。我们从Open而source当中超过有“地外了铺”加入了Hive的开发,提供代码超过100个,还有很多很多decision,所有这些都是验证了我们当时做Hive的时候,把他open source加入我们的开发,并且在接受方面,我们公司招聘的时候,新的员工已经了解到我们的系统,对于学术界也起到了一些促进的作用,下一页我们看学术界这方面的情况。      11:39

[邵铮]:我们写了一篇文章,引用Hive的文章已经有三篇,都是比较顶级的会议。我们想通过这些就可以显示出我们当时Open source的目标已经得到很好的实现。      11:39

[邵铮]:公司内部来说,这个可伸缩性的问题也得到了比较好的解决,我们现在有600台机器,每两周我们会加入一些新的机器,具体一些细节我们会在下午有一个具体的介绍,对于我们系统结构主要的改变,原来20台机器改成600台机器的Hadoop。      11:40

[邵铮]:纵观这个过程,我们体会到,在Hadoop committee当中,和大家协作有三个阶段,一开始是使用Hadoop这个软件,因为必须,我们首先使用这个软件,感觉这个软件对我们的公司,或者是学校有帮助,我们才更有兴趣去加入Hadoop committee,使用Hadoop这个软件以后,会发现有一些问题,发现这些问题我们就可以加入,慢慢简单做一些开始,对代码进一步熟悉,熟悉Open source管理方式,以后有需求的时候,我们可以开始一个新的项目,这个项目可以基于Hadoop之上,像这张图上所画的,我们并没有从头开始,把整个系统都搭建起来,我们基于已有的系统进行搭建,这样的方式使我们集中精力,把一小块东西做好。另外一点想讲的,大家可能发现Hive和Pig有一些相似之处,但是其实在设计上还是有一些底层的区别,在open source里面也不是唯一的。      11:41

[邵铮]:最后这个结论就是,我们非常高兴一开始在2007年中的时候,我们就做了一个非常非常好的决定,我们当时接受了Hadoop这样一个solution,2008后期,一起来开发这个项目,我们非常希望能够和open source committee一起合作,希望更多的人加入这个圈子当中,如果整个过程当中有一些问题,欢迎会后和我联系,这个大概就是我今天讲的所有的东西,谢谢大家。      11:41

[Christophe Bisciglia]:我今天要讲一下Hadoop的历史以及怎么样在Hadoop当中来帮助用户来使用Hadoop这个系统,这个是讲Hadoop相关的一些历史,2004年第一篇Hadoop相关的文章,在2005年,Hadoop的开创人开始创建Hadoop的原形,2006年Hadoop可以成功的运行在20代机器的小型机上。2006年的时候,雅虎开始正式向Hadoop项目来投资,2007年雅虎在2000台机器上运行Hadoop这样一个系统,2008年雅虎使用Hadoop在公司内部正式取代正式的系统。大家所感兴趣的是Hadoop三个大方面,可靠性,可扩展性和易用性。Hadoop在近期之内,有一些新的发展,就是有一些新的子项目,比如说像Hive是使用SQL这样一种语言来操作数据的。Pig是另一种数据分析的语言。      11:43

[Christophe Bisciglia]:在今年年初的时候,Cloudera公司做了一个Sqoop。这个工具是用来从数据库当中获取数据,把它下载到Hadoop之上,这个工具可以有很强的可扩展性,用户可以在这个工具之上加入新的功能,最近我们传统型一些关系型数据库的厂商开始使用Hadoop,大家发现,map reduce这样一种方式用来做数据分析非常的好处,Hadoop是map reduce的标准,Hadoop被全球很多的公司所采用。在美国全国到处都有使用Hadoop的用户群。Hadoop已经不只是给因特网公司使用的工具,已经有越来越多的电信行业的企业以及金融公司开始使用Hadoop。      11:46

[Christophe Bisciglia]:使用Hadoop主要的挑战是,开发Hadoop难度非常大,部署Hadoop难度也非常大,管理Hadoop的集群也难度非常大,教会新用户使用Hadoop软件难度非常大。Cloudera认为开发Hadoop之上的应用应该非常简单。Cloudera做了一个Hadoop的发布版本,这个版本使用的授权协议是Apache2,稳定性比传统的Hadoop有了很大的提高。他们有多个发布版本,有新的版本支持新的功能,也有老的版本更加稳定。第三是写一份软件可以在多个不同平台上运行。他们支持的第一个发布版本CDH1是基于Hadoop0.18.3版本。第二版本CDH2最近刚刚发布,第二版本其中加入了“H bis”。开源和micro是他们的重点。这张图上显示的是Cloudera的使用量、下载量,现在75%的Hadoop新用户使用Cloudera的版本。      11:48

[Christophe Bisciglia]:下面是主要使用Hadoop的新公司。原来我们有雅虎和Facebook,现在我们有VISA,Amazon公司,ebay、NTTKDDI,中国移动,这些都是电信行业使用Hadoop的公司。电信行业使用Hadoop来了解用户使用他们电信网络的情况,优化他们的网络配置,美国的供电局使用Hadoop来分析他们电网的使用情况。金融公司包括VISA和JP摩根使用Hadoop分析他们的股票以及其他的一些数据。零售商也开始使用Hadoop,我们已经知道像亚马逊和ebay这样的网站开始使用Hadoop。      11:51
[Christophe Bisciglia]:第五、关于生物公司,生物公司使用Hadoop的技术,来对人体的DNA测序,分析人体的DNA数据。从这些新用户之间的共通点中,我们发现Hadoop的使用是从开发者开始,是从工程师开始,因为Hadoop本身是免费的,工程师可以很容易拿到很多的源代码,可以试用,然后直接来解决公司问题,而不需要公司高层的批准。但是管理Hadoop技术的人员在使用Hadoop过程当中遇到很多困难,因为他们并不熟悉Hadoop这样的软件。      11:52

[Christophe Bisciglia]:我希望把Hadoop构筑的更好用,但是除了开发者以外,除了工程师以外,其他的一些人也想使用Hadoop上的应用,比如说数据分析员,或者商业分析人员。      11:53

[Christophe Bisciglia]:对于新用户来说,Hadoop主要的挑战有,第一稳定性,稳定性的重要性大大大于新功能的重要性,第二、Hadoop与现有系统的整合和结合非常重要,因为只有这样,大家才能把原有的系统和现有的新系统结合起来,对业务提供更好的帮助。      11:54

[Christophe Bisciglia]:Cloudera制作Hadoop版本是希望能够通过这样方便用户使用Hadoop,安装Hadoop,维护Hadoop,今天下午Cloudera另一个员工会讲解Cloudera所做的一个软件叫Hadoop桌面,可以用来很方便管理Hadoop,也给Hadoop应用的开发人员提供很大的方便。      11:55

[Christophe Bisciglia]:下面是Hadoop桌面的一个例子,这个桌面和传统的Linux以及其他一些桌面很相似,所以使用起来非常容易上手。这几个窗口显示的是在Hadoop上运行的任务,每个任务的详细信息以及这些任务目前执行的状态。在这个报告当中,我们不会仔细介绍Hadoop桌面的东西,因为下午有更详细的介绍。但是我想提到的是,Hadoop桌面这个软件本身是开放的,他有很多应用程序开发的接口,大家可以在Hadoop桌面之上继续开发。刚才那页显示的是Hadoop桌面用来显示Hadoop文件系统的界面,这一页显示的是Hadoop桌面用来调试和编写Hadoop代码的界面。Hadoop桌面和windows的资源管理器非常相似,用户可以通过Hadoop桌面上传和下载文件,用户可以使用这个软件直接查看文件的内容,这一页显示的是Hadoop桌面用来调试和编写Hadoop代码的界面。      11:57

[Christophe Bisciglia]:Hadoop桌面和windows的资源管理器非常相似,用户可以通过Hadoop桌面上传和下载文件,用户可以使用这个软件直接查看文件的内容,这一页显示的是当前的map reduce的界面,而这一页显示的是使用Hadoop桌面查看map reduce的状况,我们可以点击上面的链接获得更加详细的情况,这页显示的是如何使用Hadoop桌面来调试程序。      11:59

[Christophe Bisciglia]:Hadoop桌面当中还有一个功能,可以监测集群的健康状态,我们使用图形来显示集群的健康情况,图中每一个绿点表示一个健康的机器,每一个红点表示一个不健康的机器。Hadoop桌面监测机器的功能非常非常开放,有继续开发的接口,让用户加入新的功能。现在界面显示的是任务设计器,任务设计器允许用户设计三种不同的任务,map reduce、Pig、Hive,我们可以想象,使用这个界面可以很容易的设计一个数据挖掘的算法,对这些技术不是很熟悉的用户,可以直接使用这个界面来设计他们所需要的数据分析的任务,然后只要轻轻点击一下,就可以让这个任务在Hadoop的集群上运行。      12:0

[Christophe Bisciglia]:这一页是关于Hadoop桌面的一些细节,Hadoop桌面是只在Cloudera发行版本上能用,Hadoop桌面可以在你自己数据中心的集群上运行,也可以在亚马逊的集群上进行。Hadoop桌面所使用的桌面管理器是开源的,Hadoop桌面并不想替代命令行的工具,而是一个非常好的补充。熟练的Hadoop使用者将继续使用命令行,但是对于新用户或者是非技术性的用户Hadoop桌面会是一个很好的选择。      12:2

[Christophe Bisciglia]:我最最感到兴奋的是,Cloudera的Hadoop桌面的API,Hadoop桌面的架构正在逐渐的稳定下来,我们正在与一些合作伙伴一起开发新的Hadoop上的应用,我们希望能够使用一个单一的接口来概括这个社区当中的创新。API将会在将来的数月之内完全开源,如果你们想了解更多的信息,可以给以上的Email地址发信,我会及时的告诉你最新的进展。      12:3

[Christophe Bisciglia]:下面一页显示的是几个链接,如果你想免费获得C的Hadoop版本只需要走到第一个链接。我们公司提供免费的在线的Hadoop培训,这是页面上第三个链接。用户可以在线观看Hadoop培训教程,并且可以在在线的使用Hadoop来进行联系,第四个链接是Cludera的链接,非常感谢与会的各位嘉宾和组织者。      12:4
[主持人 查礼]:上午的会议到此结束。谢谢!      12:6
q56454589 2009-11-16


受用了!
jiwenke 2009-11-18
大腕云集啊。
Global site tag (gtag.js) - Google Analytics