在没接触云计算大数据之前,一听到这个词 就觉得很高大上。现在有机会 参与到一个共同学习的云计算团队中,亲身接触到了云计算。觉得也不那么遥远了。现在我就简单说一下我初涉云计算的一些东西。
说到云计算,自然是离不开Google的三大论文——Bigtable、GFS、MapReduce。初涉云计算就先从这三篇文章讲起。
这里就先说一说GFS——GoogleFileSystem吧
首先,我们应该知道一件事,那就是这么一个系统是用来干什么的,他需要哪些方面的功能去实现,或是需要保证什么。
GFS顾名思义是一种文件系统,它负责了文件的存储,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
既然是一种大型的存储与访问系统,就必须想到组件失效时一种常态的事件,他就需要满足:
1持续的监控;
2错误侦测;
3灾难冗余;
4自动恢复。
同时需要具有灵活性,满足我们对数据的处理修改,支持大数据的存储。
简单的了解了这些,看看 GFS的一些组件,架构。先了解一些“名词”
1.master节点
在一个GFS的集群中 只有一个master节点 (当然一个节点并不是对应一个服务器的概念,通常是两台master服务器)。这一个master节点负责的就是对“块”(即Chunk)的一些信息处理并存储,简单的来说就是可以将一些标志性的数据(下面说的元数据)存储起来,方便“块”数据的读写等操作。需要注意的是,客户端操作的数据并不通过master节点,只是通过master节点来获取信息,之后直接根据这信息去从chunk节点那进行操作。
2Chunk
就是上面说的“块”节点,网上有翻译为“块”节点的。一个Chunk的尺寸被设计为64MB,这些Chunk的副本呗保存在Chunk服务器上。选择了这较大的尺寸自然有其理由:
简单的来说,元数据就是存储Chunk的一些无关数据本身的基本的信息,方便去服务器了解信息,去直接访问相关的服务器。这些“信息”包括了内存的数据结构、Chunk的位置信息、操作日志等。这些都是存储在master的内存中。
简单了解之后的,Master节点的一些特殊的操作来管理协调整个文件系统。
服务器通过先访问了master节点来确定Chunk的位置和状态,之后直接去访问chunk服务器区进行读写操作。chunk的信息也是以日志的形式存储在master节点中,一个chunk的失效或是 master与chunk的签订租约都会以日志的方式进行存储。在服务器访问的时候也会把这些信息“反馈”给服务器。此外,建立的垃圾回收和不是删除文件的机制采用“惰性”的回收。
上面一开始就讲到了GFS设计时就要求自身具有容错与诊断的能力。GFS就是用自带的工具诊断系统故障。
master 服务器chunk服务器被设计 为数秒内恢复他们的状态(然而并不知道是怎么设计的,,好腻害,,)
对于chunk和master服务器都做了 类似副本处理的方法,这种思路也是正常的思路。不过在这些的基础上还有一种“影子”master服务器,可以在master服务器宕机时 进行只读访问。
版权声明:本文为博主原创文章,未经博主允许不得转载。