云计算相关学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Will_cruise/article/details/83719010

Google云计算技术包括:

Google文件系统GFS、分布式计算编程模型MapReduce、分布式锁服务Chubby、分布式结构化数据表Bigtable、分布式存储系统Megastore以及大规模分布式监控系统Dapper等。

其中GFS提供了海量数据的存储和访问的能力,MapReduce使得海量信息的并行处理变得简单易行,Chubby保证了分布式环境下并发操作的同步问题,Bigtable使得海量数据的管理和组织十分方便,构建在Bigtable之上的Megastore则实现了关系型数据库和NoSQL之间的巧妙融合,Dapper能够全方位的监控整个Google云计算平台的运行状况。

Google文件系统GFS:

GFS分为:Client(客户端)、Master(主服务器)和ChunkServer(数据块服务器)

Client:GFS提供给应用程序的访问接口。

Master:GFS的管理节点,保存系统的元数据,负责整个文件系统的管理,是GFS文件系统中的“大脑”。

Chunk Server 负责具体的存储工作。

客户端访问GFS时,首先访问Master节点,获取与之进行交互的Chunk Server信息,然后直接访问这些Chunk Server,完成数据存取工作。实现了控制流和数据流的分离。Client与Master之间只有控制流,而无数据流,极大地降低了Master的负载。Client与Chunk Server之间直接传输数据流,由于文件分成多个Chunk分布式存储,Client可以同时访问多个Chunk Server,从而使得整个系统的I/O高度并行,系统整体性能得到提高。

GFS的特点:

1. 采用中心服务器模式

控制和存储分离,使得增加新的Chunk Server容易实现,Master掌握整个系统内ChunkServer的情况,实现系统范围内数据存储的负载均衡。中心服务器缺点是极易成为整个系统的瓶颈。GFS采用多种机制来避免Master成为系统性能和可靠性上的瓶颈,如尽量控制元数据的规模、对Master进行远程备份、控制信息和数据分流等。

2. 不缓存数据

客户端大部分是流式顺序读写,并不存在大量的重复读写,缓存这些数据对提供系统整体性能的作用不大,由于GFS的数据在Chunk Server上以文件的形式存储,如果某块数据读取频繁,本地的文件系统自然会将其缓存。但是对于存储在Master中的元数据,GFS采用了缓存策略,因为Master需要频繁操作元数据,保存元数据到内存可以提高操作的效率。另一方面,采用相应的压缩机制降低存储空间,提高内存利用率。

3.在用户态下实现

4.只提供专用接口

容错机制:

1.Master容错

Master上保存了GFS文件系统的三种元数据:命名空间(整个文件系统的目录结构)、Chunk与文件名的映射表、Chunk副本的位置信息(每一个Chunk默认有三个副本)。

前两种元数据GFS通过操作日志来提供容错功能,第三种元数据信息则直接保存在各个Chunk Server上,当Master启动或ChunkServer向Master注册时自动生成。为了防止Master彻底死机的情况,GFS还提供了Master远程实时备份。

2.ChunkServer容错

GFS采用副本的方式实现Chunk Server的容错,对于每一个Chunk,必须将所有的副本全部写入成功,才视为成功写入。Chunk的默认大小是64MB,每一个Chunk以Block为单位进行划分,大小为64KB,每一个Block对应一个32bit的校验和。当读取一个Chunk副本时,ChunkServer会将读取的数据和校验和进行比较,如果不匹配,就会返回错误,使Client选择其他Chunk Server上的副本。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试