机房360首页
当前位置:首页 » 专家谈云计算 » 中科院查礼:Hadoop与大规模数据处理

中科院查礼:Hadoop与大规模数据处理

来源:CSDN 作者:Alice编辑 更新时间:2011/5/25 11:17:40

摘要:2011年最受瞩目的IT业界盛会——第三届中国云计算大会于2011年5月18-20日在北京国家会议中心隆重举行。5月20日,在第三节云计算大会分论坛二“云计算平台与应用实践”中,中科院计算所副研究员、Hadoop in China负责人查礼带来了主题为《Hadoop与大规模数据处理》精彩演讲。

     以下是查礼的演讲实录:
  
 我今天报告的题目是《Hadoop与大规模数据处理》,分三部分讲:

1、大规模数据处理的背景。

2、Hadoop开源软件的组成和历史,以及它的一些来源。

3、中科院计算所在Hadoop基础上做了哪些研究工作。


从研究背景这个角度来说,刚才志国也讲了,移动研究院做了很多云计算方面的工作,其中也包括了大规模数据处理。我们认为大规模数据处理实际上是云计算的一种外延和表现形式。另外一部分就是基础设施弹性管理及租约式的供应,刚才移动研究院的演讲当中也提到了。




随着通信、网络、存储、传感器等电子信息技术飞速发展,导致现在数据规模极大的增加。现在有些公司提出了是一个数据公司,在今后一个发展阶段当中,数据将会成为宝贵的资源,或者最有价值的资源。再处理这些数据的时候,我不可能面对这么多的数据直接分析,一定会先处理,然后就是存储。处理和存储这些数据的技术手段遇到瓶颈。处理100TB的数据,一个节点可以扫描50M,需要50分钟,如果分在1000个节点就是35分钟就可以了。

提到大规模数据处理,不得不提MapReduce编程模型。下面的圆圈就是Map,上面三角是Reduce,大概模型就是这样的,Map并行处理大规模数据集,Reduce对处理结果进行聚集,系统负责资源分配和可靠性问题。

这里有一个MapReduce的编程模型的例子,它需要输入的一个一个单词,下面就是单词的结合,然后累计单词数。MapReduce计算每个单词出现了次数,Reduce把单词出现的个数进行统计,最后产生单词出现的次数。

为什么不用其他的模型,而用MapReduce呢?
  
第一,简单和复杂的关系,传统并行计算的模式相比较来说,比传统的并行计算模式,比如说MPI、OpenMP相比门槛低,它为用户屏蔽数据通信、并发、同步、一致性等问题。

第二,专用和通用的问题。MPI、OpenMP是通用的,而MapReduce更使用于大规模数据处理,如搜索引擎、用户日志分析,数据挖掘等。计算与存储方式紧密结合,专用存储模式,利用提高系统扩展性,因为任务间无依赖。

存储也是一个专用的系统,提存储,不得不提Google,03年它发表了一篇论文,这篇论文有一个比较有特点的地方,就是它提出了GFS,GFS存在的文件通常比较大,以GB级计算,它采用了64M数据块作为基本存储单元。一般的文件系统里面,都是用K量级来做最基本的存储单位,这面用了一个64M,就是因为它一个稳健的量是非常大的。

另外Google本身业务逻辑特点决定了GFS文件读多于写,写主要是追加操作,基本不存在随即写操作。

GFS的负载主要是对大文件的流式处理,客户端缓存没有意义。这个内容是实实在在的发生的。

它采用了64M数据块的结构使它元数据的数据量大大降低了,所以GFS是使用单一元数据服务器的结构。据说现在单一已经不够用了,在做多元数据服务器的结构。

下面介绍一下Hadoop的开源软件,Hadoop是对刚才讲的MapReduce和GFS开源的实现,它的初衷就是要去实现这样一个基本的数据处理系统。后来随着它底下核心的发展,上面又产生了非常多的组成部分。

Hadoop系统产生的历史大概是从02年开始有一个Nutch项目,主要做网页数据的检索,当时它的负责人认为用传统的方法没有办法处理这么大量的网页,所有提出来新做一个程序。这跟前面讲的论文非常相关,04年出了这个论文以后,他就开始做MapReduce加GFS,他当时叫NGFS,受到这两个事情的影响做了开源软件。

2006年重新起了一个名字叫Hadoop,LOGO就是一个小象。

还有一个书籍,在中国已经翻译成中文,叫Hadoop开发指南,现在已经是第二版了,第二版加了一些新的组成部分,因为这部分得到了很多企业应用,所以加在书里面了。这个Hadoop本身用JAVA写,所以它可以很好的跟其他语言进行对接,你可以搭几个PC服务器就可以。它可以用在Windows,也可以用在Linux,但是据我所知没有多少用Windows。

Hadoop组成部分,包括Hive,HBase,Hdfs,MapReduce,HBase也是基于Hadoop的一个在线数据库系统。

有人说Hadoop是继Linux之后最成功的一个Opensource的软件,我也同意这个话,引用了这个观点。

除了Hive和HBase有很多的组件,底下是公用的核心,还有Pig,是数据分析平台,Chukwa是日志收集的系统,可能还有其他的,我就不做更多说明了。

下面看一下HDFS,它的设计目标是面向万台服务器的基础设施,它的存储目标是可以达到10PB,它采用了比较方便的集群管理的机制,所以它比较容易做自动的负载均衡,节点的Covo,还有整个集群的Sacleout,它对批示处理做了专门的优化,我们可以把一大堆的数据放在那儿,就像以前交作业以后,把你的计算提交上去,等待它的结果,而不是说交互式的,敲一个命令马上就可以反馈。优化上面可以通过把计算向数据迁移,以及最大化吞吐率的方法来做优化。

它的体系结构主要分成两块,一块是源信息服务器,另一块是数据服务器。就像图上右上角一样,它对外就是目录的形式,源信息会存储一些数据和副本。

下面绿色的小方块就是数据块,一般存储策略就是一个机架存两份,另外一个机架再存一份,所以一个数据块会有三个副本。客户端要访问一个文件先从源信息服务器上拿到数据服务器的地址,然后分别从不同的数据服务器上面去取这个数据,吞吐率得到增加。

这是Hadoop的MapReduce处理流程。

这个处理流程的输入就是在HDFS上存着,这个文件在处理的时候会分成若干份,放在一个Map上计算,Map计算完了会生成中间结果,这个中间不是存在HDFS上,而是Map计算产生的那台主机的本地系统上。这时候会调动起几个Reduce,就是右边的一些计算进程,这些进程负责把各个Map产生的中间结果所需要的部分拽过来。拽过来之后,就是洗牌的过程。拽过来之后会生成最终的结果,最终的结果也是分一部分一部分,这部分结果是存在HDFS。

Hadoop这个软件已经广泛应用到国内外互联企业,国外雅虎、易贝等等企业在使用,国内两年前就有很多互联网公司应用这样的技术,比如说百度、中国移动、淘宝、开心网、人人网等等,这是我知道的,当然还有其他的公司。

这个图是Facebook的工程师的一个PPT,这是Facebook的业务系统组成,可以看成Hadoop是它的业务核心。

右边MySQL是用户登录的信息。

通过Hadoop集群有一个Hive的工具,可以做用户行为的分析,可以给左边的OracleRAC做更深入的挖掘,也可以给一些直接的数据分析师提供一些接口,让他得到中间的一些结果。

这是09年的时候,现在肯定有一些变化,但是Hadoop在Facebook应用非常广。

 下面讲一下我们在大规模数据领域做的相关研究。
  
软件系统,我们研究了一个大规模数据处理平台。

关键技术,是行列混合存储数据管理,还有DOT聚簇式互补索引,DOT是把一些数据存储统称为一个名称。

下面两个灰色的今天不想展开讲了:

一是给HDFSNameNode高可用增强,我们使用的是双机热备,现在NN是单机的,有硬件故障恢复是150秒以上,我们做了以后,可以达到几秒。双机热备,另外一个备机会也要共享负载,这样读写混合吞吐率达到170%,写吞吐率60%,实际应用场合当中,这个数据一般读多写少,NN高可用性,最高可以达到5个9。

二是资源感知动态MapReduce任务调度优化,Hadoop是以槽位数为调度的基本单位,由于机器的不同,有的单位机器很好,比如说CPU很好,但是硬盘很弱,有的是CPU不强,但是IO很强,它资源均衡性不太一样。我们也发现这样一个现象,所以把它做成动态调节的。我们可以根据资源实际使用情况去分配,系统吞吐率提高22%,作业WallTime平均减少56%。

我讲一下HIVE和HBase,这两个技术在平台上已经展现了,我们这个平台就是提供开源软件,在上面做了很多增强工作,刚才提到了一些,以及红圈上面的,我们做的这些工作是跟右边这些单位合作的完成的,包括Facebook、NEC,华为、淘宝网、支付宝等等,这些技术也实际应用到这些单位。

行列混合数据存储,RCFile,它的思路原来在HIVE里面存储个文件是以行序存的,这样做有什么不好呢?实际上你在做压缩的时候,压缩率不会太高,你查询的时候需要整行的把数据提出来,你的漏台(音)就非常好,所以我们提出了一个行列混合,就是将腹部市数据处理系统以积露为单位的存储结构变为以列为单位的存储结构,从而减少磁盘访问数量,提高查询处理性能。

为什么能够减少磁盘访问数量,提高查询处理性能呢?由于相同属性值具有相同数据类型和相近的数据特性,以属性值为单位进行压缩存储的压缩比更高,能节省更多的存储空间,相应的漏台就相对比较小。按列存,你的数据是10列,只要把这10列弄出来就可以了,这个可以减少磁盘访问数量,提高查询处理性能。

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2011525/n533821434.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片