Google的云计算原理与应用

时间:14-10-18 栏目:Google 作者:爱说云网 评论:0 点击: 1,488 次

Google业务

Ø全球最大搜索引擎、Google Maps、Google Earth、Gmail、YouTube等——特点:数据量庞大、面向全球用户提供实时服务

Google云计算平台技术架构

¢文件存储,Google Distributed File System,GFS

¢并行数据处理MapReduce

¢分布式锁Chubby

¢分布式结构化数据表BigTable

¢分布式存储系统Megastore

¢分布式监控系统Dapper

一、Google文件系统GFS

分三大块来讲的,系统架构、容错机制、系统管理技术

1、系统架构

Client客户端):应用程序的访问接口

Master(主服务器):管理节点,在逻辑上只有一个,保存系统的元数据,负责整个文件系统的管理

ChunkServer(数据块服务器):负责具体的存储工作。数据以文件的形式存储在ChunkServer上

关于上面的架构图之前看到过一篇博客,上面对其机架感知(Rack Awareness)机制有一个简单的表示,很可惜博客竟未找到,大致是:

对于Rack Awareness——Rack1:Chunk1 、Chunk4、Chunk7……Rack n:Chunk2、Chunk 5、Chunk6……

而对于ns:file——Chunk1、Chunk2……

这样,两者一结合,查找文件块、甚至对相对的查找的优化等比较方便

GFS特点:

采用中心服务器模式

u可以方便地增加Chunk Server

u Master掌握系统内所有Chunk Server的情况,方便进行负载均衡

u不存在元数据的一致性问题

不缓存数据

˜文件操作大部分是流式读写,不存在大量重复读写,使用Cache对性能提高不大

˜ Chunk Server上数据存取使用本地文件系统,若读取频繁,系统具有Cache

˜从可行性看,Cache与实际数据的一致性维护也极其复杂

在用户态下实现

    ¨利用POSIX编程接口存取数据降低了实现难度,提高通用性

    ¨POSIX接口提供功能更丰富

    ¨用户态下有多种调试工具

    ¨Master和Chunk Server都以进程方式运行,单个进程不影响整个操作系统

    ¨GFS和操作系统运行在不同的空间,两者耦合性降低

只提供专用接口

    ¢降低实现的难度

    ¢对应用提供一些特殊支持

    ¢降低复杂度

2、容错机制

Master容错

Name Space,文件系统目录结构 

Chunk与文件名的映射

Chunk副本的位置信息(默认有三个副本) 

单个Master,对于前两种元数据,GFS通过操作日志来提供容错功能

第三种元数据信息保存在各个ChunkServer上,Master故障时,磁盘恢复

GFS还提供了Master远程的实时备份,防止Master彻底死机的情况

Chunk Server容错

u采用副本方式实现Chunk Server容错

¨每一个Chunk有多个存储副本(默认为三个),分布存储在不同的Chunk Server上用户态的GFS不会影响Chunk Ser

ver的稳定性

¨副本的分布策略需要考虑多种因素,如网络的拓扑、机架的分布、磁盘的利用率等

¨对于每一个Chunk,必须将所有的副本全部写入成功,才视为成功写入 

 

尽管一份数据需要存储三份,好像磁盘空间的利用率不高,但综合比较多种因素,加之磁盘的成本不断下降,采用副本

无疑是最简单、最可靠、最有效,而且实现的难度也最小的一种方法

 

¨ GFS中的每一个文件被划分成多个Chunk,Chunk的默认大小是64MB

¨Chunk Server存储的是Chunk的副本,副本以文件的形式进行存储
¨ 每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,
则转移至其他Chunk副本)
系统管理技术
二、分布式数据处理MapReduce
1、产生背景

MapReduce

Ø一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。

Ø“Map(映射)”、“Reduce(化简)”的概念和主要思想,都是从函数式编程语言(

适合于结构化和非结构化的海量
 
 
数据的搜索、挖掘、分析与机器智能学习等)和矢量编程语言借鉴 
 

u计算问题简单,但求解困难

待处理数据量巨大(PB级),只有分布在成百上千个节点上并行计算才能在可接受的时间内完成

    如何进行并行分布式计算?

如何分发待处理数据?

–如何处理分布式计算中的错误?

 

JefferyDean设计一个新的抽象模型,封装并行处理、容错处理、本地化计算、负载均衡的细节,还提供了一个简单而强大的

接口

这就是MapReduce

 
2、编程模型

怎么用MapReduce计算一个大型文本文件中各单词出现次数?Map的输入参数指明了需要处理哪部分数据,以<在文本中的起始位置,需要处理的数据长度>表示,经过Map
 
处理,形成一批中间结果<单词,出现次数>。而Reduce函数处理中间结果,将相同单词出现的次数进行累加,
 
 
得到每个单词总的出现次数3、实现机制
 
操作过程

(1)输入文件分成M块,每块大概16M~64MB(可以通过参数决定),接着在集群的机器上执行分派处理程序

 

(2)M个Map任务和R个Reduce任务需要分派,Master选择空闲Worker来分配这些Map或Reduce任务

(3)Worker读取并处理相关输入块,Map函数产生的中间结果<key,value>对暂时缓冲到内存

(4)中间结果定时写到本地硬盘,分区函数将其分成R个区。中间结果在本地硬盘的位置信息将被发送回Master,然后Maste

 
r负责把这些位置信息传送给ReduceWorker (5)当Master通知执行Reduce的Worker关于中间<key,value>对的位置时,它调用远程过程,从MapWorker的本地硬盘上读取

缓冲的中间数据。当Reduce Worker读到所有的中间数据,它就使用中间key进行排序,这样可使相同key的值都在一起

(6)Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户

定义的Reduce函数。Reduce函数的结果写到一个最终的输出文件

 

(7)当所有的Map任务和Reduce任务都完成的时候,Master激活用户程序。此时MapReduce返回用户程序的调用点个区

 
本地硬盘的位置信息将被发送回Master,然后Master负责把这些位置信息传送给ReduceWorker
 
案例分析假设有一批海量的数据,每个数据都是由26个字母组成的字符串,原始的数据集合是完全无序的,怎样通过MapReduce完成
 
排序工作,使其有序(字典序)呢? ——排序通常用于衡量分布式数据处理框架的数据处理能力
 



 
 
 
 
 
 
 

相关文章

一眼就明白云计算,大数据,移动互联网和物联网之间的关系...
views 1855
我们在《互联网进化论》一书中提出“互联网的未来功能和结构将于人类大脑高度相似,也将具备互联网虚拟感觉,虚拟运动,虚拟中枢,虚拟记忆神经系统” ,并绘制了一幅互联网虚拟大脑结构图。 根据这一观点,我们尝试分析目前互联网最流行的四个概念-------------大数据,云计算,物联网和移动互联网与传统...
基于云计算的协同办公解决方案需求分析...
views 1544
基于云计算的协同办公解决方案需求分析 需求概述 随着新技术的不断出现和应用,现代企业所面临的竞争也越来越大。利用n手段提升企业核心竞争力,已成为所以企业的共同选择。但是对于大多数中小企业而言,在实 施信息系统时却往往心有余而力不足。由于没有足够的n预算,我国很多中小企业没有能力实施现代化的协同办公系...
解读三大数据中心网络技术:为云计算而生...
views 2864
近年来云计算这个词在业界越来越火热,从公有云到私有云各家厂家都纷纷在为云领域努力着。云计算已经被视为科技业的下一次革命,它将带来工作方式和商业模式的根本性改变。然而云是高高在上的,要让云计算真正跑起来,数据中心就成了云计算的着力点。只有在数据中心,云计算才能发挥出其优越的技术性能。但是传统数据中心无...
玩转云存储 后期制作巧用搜狐企业网盘...
views 1291
从热映的《撒娇女人最好命》、《太平轮》,到即将推出的《微爱之渐入佳境》。华谊兄弟三箭齐发,迎接贺岁档的到来。银幕上精彩纷呈的背后是国内外制作团队共同努力协作的结果。华谊兄弟通过引入云存储技术,巧妙的利用搜狐企业网盘高效传输、协同办公的特性,将后期制作进行分解,通过国内外不同团队间的合作,让影片的制作...
国际国内云计算平台提供商对比研究
views 1817
国际国内云计算平台提供商对比研究 不同的云计算提供商都以自己不同方式应用、发展着云计算:例如:Amazon的弹性计算云(ElasticComputeCloud,EC2)是基础设施即服务(IaaS)的应用典范;Rackspace在价格上与Amazon展开竞争,它的优势是Linux的虚拟服务器价格比Am...
从IaaS到SaaS,英国电信布局下一个增长点...
views 1326
根据IDC的预测,从2013至2017年全球云计算市场年均增速将达到17%,在中国这样发展较快的市场,云计算年均增速更会高达26%。毫无疑问,云计算已经成为全球IT产业增长最快的板块之一,这样的朝阳产业自然吸引了运营商的重点关注。   近日,英国电信宣布在亚太、中东和非洲地区推出一系列全新的...
Azure云平台增加三大新功能,试图超越AWS?...
views 1712
微软公司继续围绕安全性、大量虚拟机以及Docker支持为其开发的Azure云平台增加新功能。 通过增加三大新功能,微软公司的Azure继续稳固着其作为公共云之王——亚马逊网络服务的最大竞争对手的地位。 通过本月在Azure上新增的功能,微软保持着追赶AWS的态势,相关新功能包括安全性、大量虚拟机...
阿里云获工信部可信认证 中国“云优先”战略可期...
views 1329
工信部将于下周发布可信云认证名单,阿里云向记者证实已进入该名单。这是国内权威机构首次开展云计算领域的资质认证,也被认为是中国政府即将大规模采购云计算的前奏。此前,奥巴马提出“云优先”战略,要求美国政府在IT建设中优先采用云技术。 据悉,阿里云的云服务器ECS、云数据库RDS和云存储OSS,均已通过评...

声明: 本文由( 爱说云网 )原创编译,转载请保留链接: Google的云计算原理与应用

Google的云计算原理与应用:等您坐沙发呢!

发表评论


读者排行