浅谈Google File System

1.什么是Google File System?

Google File System(GFS)是面向集群,大数据的分布式文件系统,它的运行配置较为普通,但是其性能较为优异。

2.Google File System架构

  一个GFS集群,包含一个Master节点,以及多台Chunk服务器,每个多台Chunk在Master节点上都对应这一个不重复的标识。正因为有多台Chunk服务器,因此“组件失效是常态事件”。

 在Master中主要存储了三种数据,文件和Chunk的命名空间、文件和Chunk的对应关系、每个Chunk副本的存放地点,而以上这些数据被称为元数据。

  每台Chunk服务器的大小为64MB,这个大小出于读写速度和存储容量的考虑,在将文件存入Chunk中,那么一旦出现组件失效怎么办呢?在存入文件的时候,将存入的文件的副本也保存了起来,这就使得我们存过的文件不容易丢失。

 3.Master与Chunk工作机制

谈到工作机制,其实是的MapReduce,这里不再分开讨论,  简单来说就是客户端的文件从Master转入到Map的工作空间中,由Map定义的函数将文件分成若干个数据片段,从该片段中解析出key-value,再通过分区函数生成R个区域,返回给Master,Master将其发送给Reduce worker,Reduce worker先排序,再进行遍历,将所有key相同的数据整合到一起,再传给用户自己定义的Reduce函数,Reduce函数的输出被追加到所属分区的输出文件。当这些都完成之后,master唤醒用户程序。在这个时候,在用户程序里的对MapReduce调用才返回。特别地,当所有的Map工作做完之后,发送到Master之后,才会执行Reduce。其中涉及到更多的MapReduce工作原理,以及更多集群配置的知识,对于初学者来说,笔者在此就不一一赘述。

1.什么是Google File System?

Google File System(GFS)是面向集群,大数据的分布式文件系统,它的运行配置较为普通,但是其性能较为优异。

2.Google File System架构

  一个GFS集群,包含一个Master节点,以及多台Chunk服务器,每个多台Chunk在Master节点上都对应这一个不重复的标识。正因为有多台Chunk服务器,因此“组件失效是常态事件”。

 在Master中主要存储了三种数据,文件和Chunk的命名空间、文件和Chunk的对应关系、每个Chunk副本的存放地点,而以上这些数据被称为元数据。

  每台Chunk服务器的大小为64MB,这个大小出于读写速度和存储容量的考虑,在将文件存入Chunk中,那么一旦出现组件失效怎么办呢?在存入文件的时候,将存入的文件的副本也保存了起来,这就使得我们存过的文件不容易丢失。

 3.Master与Chunk工作机制

谈到工作机制,其实是的MapReduce,这里不再分开讨论,  简单来说就是客户端的文件从Master转入到Map的工作空间中,由Map定义的函数将文件分成若干个数据片段,从该片段中解析出key-value,再通过分区函数生成R个区域,返回给Master,Master将其发送给Reduce worker,Reduce worker先排序,再进行遍历,将所有key相同的数据整合到一起,再传给用户自己定义的Reduce函数,Reduce函数的输出被追加到所属分区的输出文件。当这些都完成之后,master唤醒用户程序。在这个时候,在用户程序里的对MapReduce调用才返回。特别地,当所有的Map工作做完之后,发送到Master之后,才会执行Reduce。其中涉及到更多的MapReduce工作原理,以及更多集群配置的知识,对于初学者来说,笔者在此就不一一赘述。

猜你喜欢

转载自onlynima.iteye.com/blog/2217623