分布式文件系统的应用研究
2014-12-23崔力升
崔力升
(信阳职业技术学院,河南 信阳464200)
1 Google文件系统
Google文件系统(Google File System,GFS),它能运行在不可靠硬件设备上,对PB级别海量的数据进行处理,并且能同时多个用户并发访问服务器集群。文件系统中存放的数据绝大部分采用追加新数据而非覆盖现有数据的方式进行写操作。除了考虑到这些需要和技术特点后,GFS也考虑了分布式文件系统的共性设计目标:高可用性,大容量数据存储和调度,简单的负载均衡和冗余。
图1是Google文件系统的文件架构图。
图1 GFS架构
2 Hadoop文件系统
Hadoop分布式文件系统 (Hadoop Distributed File System,HDFS)是一个设计为用在普通硬件设备上的分布式文件系统。将其运行于计算机集群上,完成海量数据的计算,还包含了一个分布式文件系统HDFS(Hadoop Distributed File System)。
Hadoop具有如下优势:
1)具有更高的可用性,可以容忍多个节点同时失效
2)具有更好的可扩展性,而且能够实现在线的动态扩展
3)分布式的元数据管理,消除集中管理的瓶颈
4)采用类似于内存数据库的方式存储元数据,提供了元数据的访问速度
5)配置简单,方便管理,具有很好的实用性
图2HDFS架构
HDFS是主/从结构的。一个集群有一个名字结点,也就是主控制服务器,负责管理文件系统的名字空间并协调客户对文件的访问。还有很多数据结点,一般一个物理结点上部署一个,负责它们所在的物理结点上的存储管理。HDFS开放文件系统的命名空间,用户能够以文件的形式在上面存储数据。在HDFS中,也是以块的形式储数据(同GFS一样,文件被分成块来存储),这些数据块存储在一组数据结点中。名字结点执行文件系统的名字空间操作(比如打开、关闭、重命名文件或目录,还决定数据块到数据结点的映射)。数据结点负责提供客户的读写请求。名字结点对数据结点的数据块进行统一调度。
Hadoop分布式文件系统中的MapReduce是核心计算模型,它有一个基本要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。
图3
图3中说明了用MapReduce处理海量数据的流程,将大数据分解为成百上千的小数据,各个数据分别由集群中的某一个结点生成中间结果,又有大量的结点对中间结果进行计算处理,形成最终结果。
3 Google文件系统和Hadoop文件系统对比
表1
尽管Google分布式文件系统和Hadoop分布式文件系统在自己的优势上各具特色,所以对Google分布式文件系统和Hadoop分布式文件系统在实际应用中的各种性能上进行对比。
[1]苗放,叶成名,刘瑞,孔祥生.新一代数字地球平台与“数字中国”技术体系架构探讨[J].2007,6.
[2]郭曦榕,苗放,王华军,刘瑞,等.基于G/S模式架构的数字旅游服务平台研究[J].遥感技术与应用,2009.
[3]郭曦榕,苗放,王华军,许义兴,等.空间信息G/S网络访问模式体系架构初探[J].计算机应用与软件,2009.