云计算文件系统的实现.docx

上传人:b****7 文档编号:9220447 上传时间:2023-02-03 格式:DOCX 页数:55 大小:1.29MB
下载 相关 举报
云计算文件系统的实现.docx_第1页
第1页 / 共55页
云计算文件系统的实现.docx_第2页
第2页 / 共55页
云计算文件系统的实现.docx_第3页
第3页 / 共55页
云计算文件系统的实现.docx_第4页
第4页 / 共55页
云计算文件系统的实现.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

云计算文件系统的实现.docx

《云计算文件系统的实现.docx》由会员分享,可在线阅读,更多相关《云计算文件系统的实现.docx(55页珍藏版)》请在冰豆网上搜索。

云计算文件系统的实现.docx

云计算文件系统的实现

计算机科学与技术学院

毕业设计(论文)

论文题目

云计算文件系统的实现

指导教师

职称

讲师

学生姓名

学号

专业

网络工程

班级

系主任

院长

起止时间2013年10月11日至2014年5月23日

2014年5月23日

 

 

云计算文件系统的实现

摘要云计算是一种基于互联网提供服务的业务模式,它能够实现IT基础设施的资源化和服务化,用户可以按需进行定制和付费,从而彻底改变了传统IT基础设施的提供和支付方式,有效解决了无限增长的海量信息存储和计算问题。

文章给出了云计算分布式文件系统的主要类型,分析了Google文件系统(GFS)和Hadoop分布式文件系统(HDFS)的演进情况。

最后,详细描述了分布式文件系统的工作原理。

本文主要完成云计算文件系统的实现,主要的实现方法是通过Hadoop平台及Eclipce开发环境来实现文件系统的各种功能及文件系统的创建和撤销。

给用户一个类似Windows中我的电脑一样的用户体验,可以根据用户意愿实现文件目录及文件进行管理。

关键字:

云计算;Hadoop;HDFS;文件系统

 

Cloudcomputingfilesystemimplementation

AbstractCloudcomputingisaninternet-basedservicebusinessmodel,ITcanrealizetheutilizationofITinfrastructureandservice,theusercanaccordingtoneedtocustomizeandpaid,whichcompletelychangedthetraditionalITinfrastructuretoprovideandpayway,effectivelysolvethemassinformationstorageandcomputationalproblemsofunlimitedgrowth.Articlegivesthemaintypesofcloudcomputingdistributedfilesystem,analyzestheGooglefilesystem(GFS)andtheevolutionoftheHadoopdistributedfilesystem(HDFS).Finally,describesindetailtheworkingprincipleofthedistributedfilesystem.

Thispapermainlycompletedtheimplementationofcloudcomputingfilesystem,therealizationofthemainwayisthroughtheHadoopplatformandEclipcedevelopmentenvironmenttoimplementthefunctionsoffilesystemandfilesystemcreationandrevoked.GiveusersasimilartoWindowsinmycomputerasuserexperience,canaccordingtouser'sintentiontofiledirectoryandfilemanagement.

Keywords:

cloudcomputing;Hadoop;HDFS;thefilesystem

绪论

云计算是基于互联网将规模化资源池的计算、存储、开发平台和软件能力提供给用户,实现自动化、低成本、快速提供和灵活伸缩的IT服务。

云计算是利用将没有用到的资源整合起来形成一个大型的集群,提高资源利用率。

从云计算的角度看软硬件都是服务,云计算将催生出新的增长模式,如云软件托管中心、云软件销售等。

云计算将使技术人员和使用者都面临着一个巨大的变革。

云计算能够给用户提供可靠的、自定义的、最大化资源利用的服务,是一种崭新的分布式计算模式。

同时,云计算和其他技术及理论的有机结合,也是解决理论研究和实际应用的重要途径。

第1章云计算的介绍

1.1云计算的发展概况

随着电子计算机技术的的发展,人们开始适应的单机工作模式将随着云计算的出现面临着巨大的变革。

人们将从习惯于购买软件和硬件变为软件和硬件都将隐没于云端,用户在这种技术下面所对的将全部是服务。

所以它不仅仅是改变了计算机的使用方法,它也将改变人们的日常生活。

云计算从技术理念出现,到技术融合创新,再到商业运营成功,前后经历几十年,是各种技术发张到一定阶段,在某些因素(宽带的普及、互联网上的海量数据、信息化的快速发展、多个IT巨头的实践)共同促进下形成的一个新的业务领域。

云计算的发展经历了以下几个阶段:

第一阶段:

关键技术探索期(20世纪90年代之前)。

在这一阶段,虚拟化、分布式计算、并行计算等关键计算和概念纷纷出现并取得了一系列的进展。

第二阶段:

IT服务化商业模式探索期(20世纪90年代初到21世纪初)。

在这一阶段随着硬件性能的大幅提提升,服务器的利用率迅速下降,管理运营成本逐渐成为IT的主要支出之一。

为了提高服务器的利用率降低运行成本开始实行虚拟化。

第三阶段:

云计算技术和商业模式实践期(21世纪初至今)。

在虚拟化、自动化、分布式计算和存储技术开始走向成熟后,互联网巨头在借鉴以往经验的基础上对商业模式进行了在创新,并且涌现出了若干经典的成功案例,从而为云计算最终的粉墨登场提供了素材。

1.2课题研究意义及研究内容

1.2.1课题的研究意义

随着电子计算机技术的的发展,人们开始适应的单机工作模式将随着云计算的出现面临着巨大的变革。

人们将随着习惯于购买软件和硬件变为软件和硬件都将隐没于云端,用户在这种技术下面所对的将全部是服务。

所以它不仅仅是改变了计算机的使用法方,它也将改变人们的日常生活。

企业中4/5的数据是非结构化数据,这些数据每年按指数增长3/5。

非结构化数据,顾名思义,是存储在文件系统的信息,而不是数据库。

据报道指出:

平均只有1%-5%的数据是结构化的数据。

如今,这种迅猛增长的从不使用的数据在企业里消耗着复杂而昂贵的一级存储的存储容量。

如何能够更好的保留那些在全球范围内都具有潜在价值的不同类型的文件,而不会因为处理它们却干扰日常的工作?

虽然可以采购更多的就地存储设备,但这些存储设备总会有局限性的。

云存储技术已经获得越来越多的IT公司的青睐。

实现在云端的文件的共享是云计算的一种应用,是将用户计算机上的文件分块上传到不同的存储节点,然后可以使其他地区的用户可以共享到你上传的文件。

总的来说,本文主要讲述了以下几方面的意义:

1)随着计算机技术的飞速发展,数据量也随之变得越来越庞大,怎么对大量数据进行有效管理已经成为企业的关键问题。

而如果利用云存储技术解决这个问题,会对企业的经济效益有很大的提高。

2)对HDFS的研究方法可以推广到别的集群存储技术研究上,为下一步研究打好基础。

3)HDFS可以很轻松的运行在普通的PC集群上,这就会降低了实施运行分布式系统的成本。

4)Hadoop平台还没有被广泛地推广应用于各行各业,但是当基于HDFS的云存储应用研究获得一定的成效时,就会对Hadoop技术起到很好的推广作用。

云计算是将软硬件隐藏在云端,给用户提供便利的服务,现在来看一下云计算的优缺点。

(1)云计算的优点:

1)降低电脑用户成本因为云计算的开发平台对PC机几乎没有什么特殊要求,因此在进行云计算开发时几乎不需要高买一些高端的计算机来满足设计的必要,这就大大的降低了用户电脑成本。

2)改善计算机的性能因为云集算就是一种用户提出请求而不需要在自己的PC机上运行就能得到结果的技术,因此用户不需要在自己的PC机上安装大量所需的软件及高的硬件配置从而也就是不用消耗大量用户PC机的资源所以用户计算机的性能奖的到大的改善。

3)降低IT基础设施投资一些组织的IT部门也可以通过使用云计算而降低成本,用云计算的计算和存储能力代替组织能的资源开销,从而企业可以减少IT本门的投资,而对于一些需要处理计算量很大的企业我们也不需要购买大量的和高端的软硬件来处理大量的数据,这也可以通过云计算狠容易的完成。

4)减少软硬件的维护问题因为用户所需要的服务都是在云端完成,因此不再用担心软硬件的维护问题,所用到的软硬件几乎都是在云计算管理者那里,所以只要维护好自己用的PC机的软硬件就好了。

5)减少软件开发由于一些成本的降低,很多云计算的软件服务费用都会降低,所以这将减少软件的开发。

6)及时的软件更新由于大部分软件都隐藏在云端所以用户几乎不在用对软件的更新,这些将在云计算管理者那里由管理人员更新,用户将不用再花费高额的费用或时间进行软件的更新。

7)计算能力的增加这是非常明显的,应为当用户和云端连接起来后几乎可以用整个云的计算能力。

8)无限的存储能力因为云计算就是非本地的计算机资源的集合,它是将大量的计算机没有用到的资源集合起来,所以它有无限的存储能力。

9)增加数据的安全性。

因为在云计算系统里一台计算机的崩溃不会影响到整个的系统,将不会影响我们存储在云端的数据,而如果没有云的存储我们自己的计算机的崩溃将可能使我们的数据丢失,因此使用云计算将很高的增加数据的安全性。

10)数据的获取将无地点限制云计算及将大量的非本地的计算机集合成集群,因此只要我们有一台能连接到网络的计算机就可以在这个集群里索取任何地点的数据。

(2)云计算的缺点:

1)要求持续的网络连接用户要通过连接网络来应用程序和一些文档,而不连接网络几乎不能做这方面的任何事情,因此要能充分的利用云计算就需要持续的连接网络。

2)低网络环境下不能很好工作几乎与你计算的各种应用都需要大量的带宽来下载,因此在底网络连接下就不能很好的进行云计算。

3)反应慢因为数据在客户端和云端要不断的进行传输,因此应用程序的反应都要比在桌面的应用程序反应要慢。

4)功能有限制就现在的云计算功能和桌面的应用程序比较他的功能还是有限制的,较桌面的应用程序功能缩水了很多。

5)云不能保证数据有丢失虽然在云端存储的数据较个人计算机数据的安全性能要高,但是它也有不完善的地方,当我们的数据不知道因为什么原因丢失时,云计算相应的持有者并不负有任何责任。

6)数据安全性由于云上的资源是公共获取的,所以当我们把数据存储在云端时,存在数据被泄露出去的危险。

1.2.2课题的研究内容

本文主要研究基于云计算文件系统的实现,本文首先介绍了云计算的定义及其发展历史,从云计算的一路发展,揭示了云计算的优点及缺点。

第二本文介绍了云计算系统的体系结构及工作原理,第三本文主要做关于文件系统的实现,从而介绍了实现文件系统的云平台,第四就是搭建这里所需要用到的平台及环境,最后通过平台及环境实现文件系统。

 

第2章云计算系统的研究

2.1云计算的服务层次

与传统的PC系统相对应,云计算系统可以在硬件资源、平台到和应用程序等各个层次为用户提供各种级别的服务,即业界普遍认同的经典云计算服务体系----基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。

这些服务的交互可以与云计算实现模型的不同层次对应:

IAAS服务主要依托于云计算基础构架层,向外提供基础资源服务,PAAS服务主要依托于云计算应用开发和执行环境,向外提供应用开发与运行托管服务,SAAS服务主要通过云计算应用软件层向外提供应用软件服务。

其服务体系如图2.1:

云计算基础架构

SaaS

PaaS

IaaS

图2.1经典云计算服务体系

在云计算中,根据其服务集合提供的不同服务类型,把云计算的整个服务体系划分为4个层次分别为应用层、平台层、虚拟化层及基础设施层,其中每一层都对应了一个子服务集合,如下为云计算服务层次。

图2.2云计算服务体系结构

云计算的服务层次结构是根据服务集合来划分的,这与计算机网络体系结构中的层次划分有所不同。

在计算机网络体系结构中每个层次都会实现一定的功能,层与层之间都会有一定的联系。

但是云计算体系结构中的层次是可以分割的,即某一层次可以独立的完成一个用户请求而不用其他的层次为它提供一些必要的支持和服务。

2.2云计算系统的结构和原理

2.2.1云计算的体系结构

云计算平台是一个十分强大的云网络,连接了很多的并发网络计算和服务,可以利用虚拟化技术增强每一个服务器的能力,并且将各自的资源通过云计算平台整合起来,提供超级计算的能力和存储能力。

通用的云计算体系结构如下。

图2.3云计算体系结构

这里的云用户端指向云端提出请求的交互界面,提供可以让用户使用云的入口,云计算的“大门”为浏览器,因此用户可以通过web浏览器进行注册,登录、制定服务、配置和管理用户。

打开应用的实例与本地桌面系统一样。

管理系统和部署工具就是提供管理和服务,能够管理云用户及对用户授权、登陆、认证等进行管理,并且可以管理可用计算资源,接受用户的请求,根据请求转发到相应的应用程序,调动资源和应用,动态的部署、回收、配置资源。

服务目录是云用户在取得相应的权限后可以选择或制定服务,也可以对已有的服务进行取消定制的操作,在云用户端生成相应列表或图标的形式用以展现相关的服务。

监控是计算和监控云计算系统的资源的使用情况,当发生某事件是可以做出充分的反应,完成节点资源监控、负载均衡配置和同步配置,确保资源能够顺利的分配给需要的用户。

服务器集群式虚拟的或物理的服务器,由管理系统管理,负责高并发量用户请求处理、用户web应用服务、大运算量计算处理,云数据存储是采用相应数据的数据切割算法采用并行方式上传下载大容量数据。

2.2.2云计算系统的原理

云计算是对分布式处理、并行处理和网格计算及分布式数据库的改进,它基于解决大型问题的并行计算和网格计算,将计算资源作为可计量的服务为用户提供公用计算,在互联网宽带技术和虚拟化技术的高速发展后产生出云计算。

云计算的基本原理为利用远程的或非本地的服务器的分布式计算为互联网的用户提供服务。

这可以使用户将资源切换到有需求的应用那里,根据需求访问计算机和存储系统。

云计算可以把普通服务器或pc机连接起来获得超级计算机及计算机的计算和存储等功能,而且成本很低。

云计算实现了按需计算,提高了计算机软硬件的利用效率。

云计算是一种全新的基于互联网的超级计算机模式和理念,实现云计算需要很多种不同技术的结合,并且需要使用软件来实现将硬件资源虚拟化的调度及管理,形成一个大的虚拟化资源池,把存储与移动设备、个人计算机和其他设备设备上的处理器资源集中在一起协同工作。

按照最大化理解云计算就是把计算机的资源都放到互联网上,互联网就是与计算时代的云,其中计算资源包括计算机的软件资源和硬件资源。

 

第3章开发环境的概述

3.1典型云计算平台

因为云计算的快速发展及其功能进一步的体现,所以云计算的研究吸引不同领域的巨头,因此对云计算的理论及实现架构有所不同。

如亚马逊利用虚拟化的技术提供云计算服务,退出S3提供可靠、可扩展的及快速的网络存储设备服务,而弹性可扩展的云计算服务器EC2则采用Xen虚拟化的技术,实现一个虚拟化的执行环境,可以让用户通过互联网来执行自己的程序。

IBM将包括Xen和PowerVM的虚拟的Linux操作系统景象与Hadoop并行工作负载调度。

现在的云计算通过对资源层、应用层的虚拟化和平台层以及对物理上的分布式集成,使庞大的计算机资源整合在一起。

更为突出的是,云计算不仅是资源的简单汇聚,他为我们提供了一种管理机制,让整个集群作为一种资源池对外提供服务,并对开发者透明的获取资源和使用的权限。

3.2Hadoop架构的介绍

在云计算技术中,编程平台的搭建是十分重要的一个环节,而在各种编程平台中hadoop技术是应用最为广泛的开源编程平台

3.2.1Hadoop的概述

在Google发表MapReduce之后,04年开源社群用java语言搭建了一套Hadoop框架,用来实现MapReduce算法,用其能把应用程序分割成很多很小的工作单元,每个单元能在任何集群的节点上执行或重复执行。

Hadoop是一个分布式存储与计算平台,其适合大数据,对于小数据而言,Hadoop处理效果反而不佳。

Hadoop还提供了一种分布式文件系统GFS,是一个可扩展的、结构化的、具备日志分布式文件系统,支持分布式大数据量的读写操作,其容错性很强。

Hadoop框架具有高容错性和对数据读写的高吞吐率,可以自动的处理失败节点,下图为hadoop的架构

云计算架构Hadoop

BigTable

(分布式数据库)

MapReduceAPI

(Map,Reduce)

 

GFS(Goole分布式文件系统)

 

图3.1Hadoop架构

在Hadoop架构中MapReduceAPI提供reduce和map的处理、BigTable分布式数据库的数据存储和GFS分布式文件系统。

使用Hadoop架构可以非常轻松的和方便的完成处理海量数据的分布式并行程序,并且可以运行到大规模集群上。

基于Hadoop架构平台可以给出云计算的执行过程如下图所示。

图3.2云计算的执行过程

Hadoop作为应用最广泛的云计算编程环境所以它有着大量的优点:

1)可扩展性:

不管是计算机的扩展性还是存储的扩展性都是hadoop设计的基础对hadoop的设计十分重要,hadoop的扩展性十分的简单,不用修改已有的任何结构。

2)Hadoop很可靠:

mapreduce的监控和分布式文件系统备份恢复机制使hadoop有了很高的可靠性。

3)对硬件要求低:

hadoop架构能在任何计算机上执行,对计算机没有什么特殊的要求。

Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。

Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。

Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。

Hadoop的最常见用法之一是Web搜索。

虽然它不是惟一的软件框架应用程序,但作为一个并行数据处理引擎,它的表现非常突出。

Hadoop最有趣的方面之一是MapandReduce流程,它受到Google开发的启发。

这个流程称为创建索引,它将Web爬行器检索到的文本Web页面作为输入,并且将这些页面上的单词的频率报告作为结果。

然后可以在整个Web搜索过程中使用这个结果从已定义的搜索参数中识别内容。

3.2.2MapReduce分布式处理技术的介绍

MapReduce是Goole开发的c++、java、python的编程工具,用于大规模的数据集的并行运算,同时也是云计算的核心技术,一种分布式运算技术,也是简化的分布式编程模式,适合处理大量的数据的分布式运算,用于解决问题的程序开发模式,同时也是开发人员解决问题的方法。

MapReduce模式的运行方式是将问题拆分为Map映射和Rduce化简的方法,先通过映射程序将数据分割成不相关的区块,调度非大量计算机处理达到分布式运算的效果,然后通过化简程序将结果整合起来,最后输出开发者需要的结果。

MapReduce软件实现是指定一个映射函数,把键值对(key/value)映射成新的键值对,并形成一系列的中间形式的key/value对,在把他们传给化简函数,把有相同中间形式的key及value合并在一起。

这里的map及reduce具有一定的关联性,如表3.1所示。

 

表3.1map、reduce关联表

其中v1、v2即可以使简单数据,也可是一组数据,对应不同的映射函数规则。

在map过程中将数据并行,就是把数据用映射函数分开,而redduce是把分开后处理过的分开数据用化简函数的规则在整合在一起,其实就是map函数是将数据分开的过程,而reduce则是对应的整合数据。

使用mapreduce,即使编程人员不会分布式并行编程的情况下,也同样可以将自己的程序运行在分布式系统上。

Mapreduce的应用也十分广泛包括简单的计算任务、集群计算环境和海量输入数据等。

3.2.3MapReduce架构

MapReduce主要用于处理产生大数据集的相关实现。

用户指定一个映射函数来处理一个key/value对,从而形成一些列中间形式的key/value对。

然后再指定一个化简函数合并所有的具有相同中间形式的key的value合并在一起。

下面将通过举例来反应mapreduce的架构形式。

Mapreduce的主从结构:

主节点,只有一个:

JobTracker其主要的功能负责接收客户提交的计算任务、把计算任务分配给TaskTrackers执行、监控TaskTracker的执行情况、

从节点,有很多个:

TaskTrackers它的主要功能是执行JobTracker分配的计算任务。

下面为举例查看mapreduce架构报表系统,数据库和数据仓库会设计的比较麻烦,送一个指令给数据库。

报表内存可能小于数据库数据,不能一次性加载,可以采用分布读取,但十分慢,报表系统负责计算的性能远远低于数据量本身。

数据量本身远远超过了计算能力,只能用时间换空间。

怎么改进?

如果都跑相同的报表系统,跑多台,上面做累加,但是数据库这块分成三份,北京一个库,河北一个库,可以报表1系统跑北京数据,报表系统2跑天津数据,这样每个报表处理的数据量处理为原来的一部分。

再找一台服务器进行汇总,汇总只是加上,逻辑是不一样的。

如果要处理海量数据,从目前硬件的局限,只能是运行很多的服务器来处理海量数据,运行少量的服务器处理中间结果。

把逻辑拆分不同的系统中。

MapReduce:

汇总和报表系统。

报表叫map最后的汇总叫reduce.让一个节点关系管理这些东西,Map和reduce在管理上看没有什么差别,由他分配谁是什么角色。

其mapreduce架构图形如下。

 

报表系统一Map

这一部分是mapreduce

汇总系统reduce

数据库是分布式的

报表系统2

管理节点

报表系统3

客户

图3.3报表mapreduce架构图

3.2.4HDFS简介

HDFS是Hadoop实现的一个分布式文件系统,HDFS具有高容错性的特点,为了保证数据的一致性,一般都采用一次写入,多次读取的方式。

并且设计用来部署在低廉的(low-cost)硬件设备上,它有单一的文本空间,而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。

HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingaccess)文件系统中的数据。

其中HDFS他把数据分成很多很小的快,以64M的大小为一个快,块是磁盘上最小单位。

每个数据块(block)在很多个从节点存有数据,客户端是通过主节点获取数据块的位置,然后访问从节点获取数据。

(1)与普通文件系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1