1、云计算文件系统的实现毕业论文设计40论文41(此文档为word格式,下载后您可任意编辑修改!)计算机科学与技术学院毕业设计(论文)论文题目云计算文件系统的实现指导教师 职 称 讲师学生姓名 学 号 专 业 网络工程班 级系 主 任 院 长 第一章 云计算的介绍 1第二章 云计算系统的研究 62.1云计算的服务层次 6第三章 开发环境的概述 103.1典型云计算平台 10第四章Hadoop云平台搭建 204.3.2 具体步骤 39第五章 云文件系统的实现 40第六章 总结 51参考文献 52云计算文件系统的实现摘要 云计算是一种基于互联网提供服务的业务模式,它能够实现IT基础设施的资源化和服务化
2、,用户可以按需进行定制和付费,从而彻底改变了传统IT基础设施的提供和支付方式,有效解决了无限增长的海量信息存储和计算问题。文章给出了云计算分布式文件系统的主要类型,分析了Google文件系统(GFS)和Hadoop分布式文件系统(HDFS)的演进情况。最后,详细描述了分布式文件系统的工作原理。本文主要完成云计算文件系统的实现,主要的实现方法是通过Hadoop平台及Eclipce开发环境来实现文件系统的各种功能及文件系统的创建和撤销。给用户一个类似Windows中我的电脑一样的用户体验,可以根据用户意愿实现文件目录及文件进行管理。关键字:云计算;Hadoop;HDFS;文件系统 Cloud co
3、mputing file system implementationAbstract Cloud computing is an internet-based service business model, IT can realize the utilization of IT infrastructure and service, the user can according to need to customize and paid, which completely changed the traditional IT infrastructure to provide and pay
4、 way, effectively solve the mass information storage and computational problems of unlimited growth. Article gives the main types of cloud computing distributed file system, analyzes the Google file system (GFS) and the evolution of the Hadoop distributed file system (HDFS). Finally, describes in de
5、tail the working principle of the distributed file system.This paper mainly completed the implementation of cloud computing file system, the realization of the main way is through the Hadoop platform and Eclipce development environment to implement the functions of file system and file system creati
6、on and revoked. Give users a similar to Windows in my computer as user experience, can according to users intention to file directory and file management.Keywords: cloud computing; Hadoop;HDFS;the file system 绪 论云计算是基于互联网将规模化资源池的计算、存储、开发平台和软件能力提供给用户,实现自动化、低成本、快速提供和灵活伸缩的IT服务。云计算是利用将没有用到的资源整合起来形成一个大型的
7、集群,提高资源利用率。从云计算的角度看软硬件都是服务,云计算将催生出新的增长模式,如云软件托管中心、云软件销售等。云计算将使技术人员和使用者都面临着一个巨大的变革。云计算能够给用户提供可靠的、自定义的、最大化资源利用的服务,是一种崭新的分布式计算模式。同时,云计算和其他技术及理论的有机结合,也是解决理论研究和实际应用的重要途径。第1章 云计算的介绍1.1云计算的发展概况随着电子计算机技术的的发展,人们开始适应的单机工作模式将随着云计算的出现面临着巨大的变革。人们将从习惯于购买软件和硬件变为软件和硬件都将隐没于云端,用户在这种技术下面所对的将全部是服务。所以它不仅仅是改变了计算机的使用方法,它也
8、将改变人们的日常生活。云计算从技术理念出现,到技术融合创新,再到商业运营成功,前后经历几十年,是各种技术发张到一定阶段,在某些因素(宽带的普及、互联网上的海量数据、信息化的快速发展、多个IT巨头的实践)共同促进下形成的一个新的业务领域。云计算的发展经历了以下几个阶段:第一阶段:关键技术探索期(20世纪90年代之前)。在这一阶段,虚拟化、分布式计算、并行计算等关键计算和概念纷纷出现并取得了一系列的进展。第二阶段:IT服务化商业模式探索期(20世纪90年代初到21世纪初)。在这一阶段随着硬件性能的大幅提提升,服务器的利用率迅速下降,管理运营成本逐渐成为IT的主要支出之一。为了提高服务器的利用率降低
9、运行成本开始实行虚拟化。 第三阶段:云计算技术和商业模式实践期(21世纪初至今)。在虚拟化、自动化、分布式计算和存储技术开始走向成熟后,互联网巨头在借鉴以往经验的基础上对商业模式进行了在创新,并且涌现出了若干经典的成功案例,从而为云计算最终的粉墨登场提供了素材。1.2课题研究意义及研究内容1.2.1课题的研究意义随着电子计算机技术的的发展,人们开始适应的单机工作模式将随着云计算的出现面临着巨大的变革。人们将随着习惯于购买软件和硬件变为软件和硬件都将隐没于云端,用户在这种技术下面所对的将全部是服务。所以它不仅仅是改变了计算机的使用法方,它也将改变人们的日常生活。 企业中45的数据是非结构化数据,
10、这些数据每年按指数增长35。非结构化数据,顾名思义,是存储在文件系统的信息,而不是数据库。据报道指出:平均只有1%-5%的数据是结构化的数据。如今,这种迅猛增长的从不使用的数据在企业里消耗着复杂而昂贵的一级存储的存储容量。如何能够更好的保留那些在全球范围内都具有潜在价值的不同类型的文件,而不会因为处理它们却干扰日常的工作?虽然可以采购更多的就地存储设备,但这些存储设备总会有局限性的。云存储技术已经获得越来越多的IT公司的青睐。实现在云端的文件的共享是云计算的一种应用,是将用户计算机上的文件分块上传到不同的存储节点,然后可以使其他地区的用户可以共享到你上传的文件。总的来说,本文主要讲述了以下几方
11、面的意义:1)随着计算机技术的飞速发展,数据量也随之变得越来越庞大,怎么对大量数据进行有效管理已经成为企业的关键问题。而如果利用云存储技术解决这个问题,会对企业的经济效益有很大的提高。2)对HDFS的研究方法可以推广到别的集群存储技术研究上,为下一步研究打好基础。3)HDFS可以很轻松的运行在普通的PC集群上,这就会降低了实施运行分布式系统的成本。4)Hadoop平台还没有被广泛地推广应用于各行各业,但是当基于HDFS的云存储应用研究获得一定的成效时,就会对Hadoop技术起到很好的推广作用。云计算是将软硬件隐藏在云端,给用户提供便利的服务,现在来看一下云计算的优缺点。(1)云计算的优点:1)
12、降低电脑用户成本 因为云计算的开发平台对PC机几乎没有什么特殊要求,因此在进行云计算开发时几乎不需要高买一些高端的计算机来满足设计的必要,这就大大的降低了用户电脑成本。2)改善计算机的性能 因为云集算就是一种用户提出请求而不需要在自己的PC机上运行就能得到结果的技术,因此用户不需要在自己的PC机上安装大量所需的软件及高的硬件配置从而也就是不用消耗大量用户PC机的资源所以用户计算机的性能奖的到大的改善。 3)降低IT基础设施投资 一些组织的IT部门也可以通过使用云计算而降低成本,用云计算的计算和存储能力代替组织能的资源开销,从而企业可以减少IT本门的投资,而对于一些需要处理计算量很大的企业我们也
13、不需要购买大量的和高端的软硬件来处理大量的数据,这也可以通过云计算狠容易的完成。 4)减少软硬件的维护问题 因为用户所需要的服务都是在云端完成,因此不再用担心软硬件的维护问题,所用到的软硬件几乎都是在云计算管理者那里,所以只要维护好自己用的PC机的软硬件就好了。5)减少软件开发 由于一些成本的降低,很多云计算的软件服务费用都会降低,所以这将减少软件的开发。6)及时的软件更新 由于大部分软件都隐藏在云端所以用户几乎不在用对软件的更新,这些将在云计算管理者那里由管理人员更新,用户将不用再花费高额的费用或时间进行软件的 更新。7)计算能力的增加 这是非常明显的,应为当用户和云端连接起来后几乎可以用整
14、个云的计算能力。8)无限的存储能力 因为云计算就是非本地的计算机资源的集合,它是将大量的计算机没有用到的资源集合起来 ,所以它有无限的存储能力。9)增加数据的安全性。因为在云计算系统里一台计算机的崩溃不会影响到整个的系统,将不会影响我们存储在云端的数据,而如果没有云的存储我们自己的计算机的崩溃将可能使我们的数据丢失,因此使用云计算将很高的增加数据的安全性。10)数据的获取将无地点限制 云计算及将大量的非本地的计算机集合成集群,因此只要我们有一台能连接到网络的计算机就可以在这个集群里索取任何地点的数据。(2)云计算的缺点:1)要求持续的网络连接 用户要通过连接网络来应用程序和一些文档,而不连接网
15、络几乎不能做这方面的任何事情,因此要能充分的利用云计算就需要持续的连接网络。2)低网络环境下不能很好工作 几乎与你计算的各种应用都需要大量的带宽来下载,因此在底网络连接下就不能很好的进行云计算。3)反应慢 因为数据在客户端和云端要不断的进行传输,因此应用程序的反应都要比在桌面的应用程序反应要慢。4)功能有限制 就现在的云计算功能和桌面的应用程序比较他的功能还是有限制的,较桌面的应用程序功能缩水了很多。5)云不能保证数据有丢失 虽然在云端存储的数据较个人计算机数据的安全性能要高,但是它也有不完善的地方,当我们的数据不知道因为什么原因丢失时,云计算相应的持有者并不负有任何责任。6)数据安全性 由于
16、云上的资源是公共获取的,所以当我们把数据存储在云端时,存在数据被泄露出去的危险。1.2.2课题的研究内容本文主要研究基于云计算文件系统的实现,本文首先介绍了云计算的定义及其发展历史,从云计算的一路发展,揭示了云计算的优点及缺点。第二本文介绍了云计算系统的体系结构及工作原理,第三本文主要做关于文件系统的实现,从而介绍了实现文件系统的云平台,第四就是搭建这里所需要用到的平台及环境,最后通过平台及环境实现文件系统。第2章 云计算系统的研究2.1云计算的服务层次 与传统的PC系统相对应,云计算系统可以在硬件资源、平台到和应用程序等各个层次为用户提供各种级别的服务,即业界普遍认同的经典云计算服务体系-基
17、础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这些服务的交互可以与云计算实现模型的不同层次对应:IAAS服务主要依托于云计算基础构架层,向外提供基础资源服务,PAAS服务主要依托于云计算应用开发和执行环境,向外提供应用开发与运行托管服务,SAAS服务主要通过云计算应用软件层向外提供应用软件服务。其服务体系如图2.1 : 图 2.1 经典云计算服务体系 在云计算中,根据其服务集合提供的不同服务类型,把云计算的整个服务体系划分为4个层次分别为应用层、平台层、虚拟化层及基础设施层,其中每一层都对应了一个子服务集合,如下为云计算服务层次。图 2.2 云计算服务体系结构云计算
18、的服务层次结构是根据服务集合来划分的,这与计算机网络体系结构中的层次划分有所不同。在计算机网络体系结构中每个层次都会实现一定的功能,层与层之间都会有一定的联系。但是云计算体系结构中的层次是可以分割的,即某一层次可以独立的完成一个用户请求而不用其他的层次为它提供一些必要的支持和服务。2.2云计算系统的结构和原理2.2.1云计算的体系结构 云计算平台是一个十分强大的云网络,连接了很多的并发网络计算和服务,可以利用虚拟化技术增强每一个服务器的能力,并且将各自的资源通过云计算平台整合起来,提供超级计算的能力和存储能力。通用的云计算体系结构如下。 图 2.3 云计算体系结构这里的云用户端指向云端提出请求
19、的交互界面,提供可以让用户使用云的入口,云计算的“大门”为浏览器,因此用户可以通过web浏览器进行注册,登录、制定服务、配置和管理用户。打开应用的实例与本地桌面系统一样。管理系统和部署工具就是提供管理和服务,能够管理云用户及对用户授权、登陆、认证等进行管理,并且可以管理可用计算资源,接受用户的请求,根据请求转发到相应的应用程序,调动资源和应用,动态的部署、回收、配置资源。服务目录是云用户在取得相应的权限后可以选择或制定服务,也可以对已有的服务进行取消定制的操作,在云用户端生成相应列表或图标的形式用以展现相关的服务。监控是计算和监控云计算系统的资源的使用情况,当发生某事件是可以做出充分的反应,完
20、成节点资源监控、负载均衡配置和同步配置,确保资源能够顺利的分配给需要的用户。服务器集群式虚拟的或物理的服务器,由管理系统管理,负责高并发量用户请求处理、用户web应用服务、大运算量计算处理,云数据存储是采用相应数据的数据切割算法采用并行方式上传下载大容量数据。2.2.2云计算系统的原理云计算是对分布式处理、并行处理和网格计算及分布式数据库的改进,它基于解决大型问题的并行计算和网格计算,将计算资源作为可计量的服务为用户提供公用计算,在互联网宽带技术和虚拟化技术的高速发展后产生出云计算。云计算的基本原理为利用远程的或非本地的服务器的分布式计算为互联网的用户提供服务。这可以使用户将资源切换到有需求的
21、应用那里,根据需求访问计算机和存储系统。云计算可以把普通服务器或pc机连接起来获得超级计算机及计算机的计算和存储等功能,而且成本很低。云计算实现了按需计算,提高了计算机软硬件的利用效率。 云计算是一种全新的基于互联网的超级计算机模式和理念,实现云计算需要很多种不同技术的结合,并且需要使用软件来实现将硬件资源虚拟化的调度及管理,形成一个大的虚拟化资源池,把存储与移动设备、个人计算机和其他设备设备上的处理器资源集中在一起协同工作。按照最大化理解云计算就是把计算机的资源都放到互联网上,互联网就是与计算时代的云,其中计算资源包括计算机的软件资源和硬件资源。第3章 开发环境的概述3.1典型云计算平台因为
22、云计算的快速发展及其功能进一步的体现,所以云计算的研究吸引不同领域的巨头,因此对云计算的理论及实现架构有所不同。如亚马逊利用虚拟化的技术提供云计算服务,退出S3提供可靠、可扩展的及快速的网络存储设备服务,而弹性可扩展的云计算服务器EC2则采用Xen虚拟化的技术,实现一个虚拟化的执行环境,可以让用户通过互联网来执行自己的程序。IBM将包括Xen和PowerVM的虚拟的Linux操作系统景象与Hadoop并行工作负载调度。现在的云计算通过对资源层、应用层的虚拟化和平台层以及对物理上的分布式集成,使庞大的计算机资源整合在一起。更为突出的是,云计算不仅是资源的简单汇聚,他为我们提供了一种管理机制,让整
23、个集群作为一种资源池对外提供服务,并对开发者透明的获取资源和使用的权限。3.2 Hadoop架构的介绍 在云计算技术中,编程平台的搭建是十分重要的一个环节,而在各种编程平台中hadoop技术是应用最为广泛的开源编程平台3.2.1 Hadoop的概述在Google发表MapReduce之后,04年开源社群用java语言搭建了一套Hadoop框架,用来实现MapReduce算法,用其能把应用程序分割成很多很小的工作单元,每个单元能在任何集群的节点上执行或重复执行。Hadoop是一个分布式存储与计算平台,其适合大数据,对于小数据而言,Hadoop处理效果反而不佳。Hadoop还提供了一种分布式文件系
24、统GFS,是一个可扩展的、结构化的、具备日志分布式文件系统,支持分布式大数据量的读写操作,其容错性很强。Hadoop框架具有高容错性和对数据读写的高吞吐率,可以自动的处理失败节点,下图为hadoop的架构 图 3.1 Hadoop架构在Hadoop架构中MapReduce API 提供reduce和map的处理、BigTable分布式数据库的数据存储和GFS分布式文件系统。使用Hadoop架构可以非常轻松的和方便的完成处理海量数据的分布式并行程序,并且可以运行到大规模集群上。基于Hadoop架构平台可以给出云计算的执行过程如下图所示。图 3.2 云计算的执行过程Hadoop作为应用最广泛的云计
25、算编程环境所以它有着大量的优点: 1)可扩展性:不管是计算机的扩展性还是存储的扩展性都是hadoop设计的基础对hadoop的设计十分重要,-1.7.29-24.2平台的搭建.4.2.1jdk的安装将jdk的安装包拷贝到rootDownloads目录下并在此安装jdk其步骤如下; 图4.1 jdk安装包的存放路径 图4.2 jdk的安装步骤图4.3 jdk的安装步骤图4.4 jdk的安装步骤图4.5 jdk的安装步骤 在这我们看到jdk已经配置成功。 4.2.2 Cygwin的安装 Cygwin的功能就是在Windows平台上模拟出unix环境。现在来对其进行安装,首先,我是先下载了一个引导程
26、序来对它进行安装我先登录网站http:www.cygwin下载setup-x86.exe文件(1)打开以下载的setup-x86.exe图4.6 setup-x86.exe界面(2)点击下一步进入下面的界面图4.7 setup-x86.exe的安装步骤 第一项“Install from Internet”表示从网络上找到安装文件后会自动安装。一般网络环境好的可以先择此项,但此安装不会保存安装文件,因此若下次需再次安装时也一定需要有网络;第二项“Download Without Installing”表示下载安装镜像,但不安装。这里下载有个好处就是,在以后没有网络的情况下也可以自由安装;第三项“
27、Install From Local Directory”表示安装已下载到本地目录下的安装文件。一般最好先选择“Download Without Installing”之后再通过“Install From Local Directory”来安装,这样就可以方便于日后无网络的时候安装。(1)点击“Install From Local Directory”进入下一步图4.8 setup-x86.exe的安装步骤这里为Cygwin选择安装的地址,我将它安装在“d:program filescygwin”目录下。(2)点击下一步按钮,继续安装图4.9 setup-x86.exe的安装步骤 这里选择的是
28、之前下载的setup是存放的地址。(3)继续点击下一步,出现如下界面图4.10 setup-x86.exe的安装步骤 这里要保证下载时选的4个包在这里已经全部被选中,basesed、editors-vim、 libs- 、 net-OpenSSH。同时检查一下包的状态。其中“keep”为安装,“Reinstall”为重新安装;“Uninstall”为不安装其检测如下图:图4.11 setup-x86.exe的安装步骤(4)点击下一步,直接到完成界面。图4.12 setup-x86.exe的安装步骤在这里点击完成就可以完成Cygwin的安装了。4.2.3 Windows下系统环境变量的配置 (1
29、)右键“我的电脑”-系统属性-高级高级系统设置-环境变量;在这里进行环境变量的配置。图4.13 环境变量配置界面 (2)我们这里需要做的事添加环境变量JAVA_HOME;要在系统变量里新建,在“变量名”处,加入JAVA_HOME,在“变量值”处加入安装JDK时的安装目录地址,我这里为d :Javajdk;如下图所示。图4.14 JAVA_HOME环境变量配置(3)新建加入环境变量CLASSPATH; 要在系统变量里新建,在“变量名”处写入CLASSPATH在“变量值”处输入:“.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar”。这里一点要注意前面的“.;”,这个
30、不能少写或写错。图4.15 JAVA_HOME环境变量配置(4)新建环境变量CYGWIN 在系统变量里新建,在“变量名”处输入CYGWIN在“变量值”处输入:ntsec。如下图所示。图4.16 cygwin环境变量配置(5)配置path目录 在系统变量目录中选中“PATH”然后点“编辑”。 1)第一步首先是添加JDK的路径,并以分号结束;路径为:C:Javajdk1.8.0_05; 2)第二步添加JRE的路径;路径为:C:Javajre8; 3)第三步添加Cygwin的bin路径;路径为:D:Program Files (x86)cygwin64bin; 4)第四步添加Cygwin usr的b
31、in或sbin路径;路径为:D:Program Files (x86)cygwin64usrsbin;将这些都添加到PATH的最前面,最后就完成了path目录的配置了。如下图所示。图4.17 path目录配置4.2.4 安装和配置SSHD服务(1)安装SSHD服务 启动已下载安装好的Cygwin;图4.18 sshd服务安装在已启动的Cygwin中输入命令 $ ssh- be used?(yesno)在这里选择no;之后还回出现一个问题,选择yes; 图4.19 sshd服务配置接着上面会出现:“Enter the value of CYGWIN for the daemon:”,在这里输入ntsec;接着下一个问题是: “Do you want to use a differen name?(yesno)”,这里选择是no;接着是:“Create new privileged user account cyg_server?(yesno)”,这里选择 yes;最后出现:“Please enter the password:”,但是在这里不用对它设置密码,回车之后,当我们看到:“Host conf
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1