云计算文件系统的实现毕业设计(论文).doc

上传人:小小飞 文档编号:3907651 上传时间:2019-10-10 格式:DOC 页数:59 大小:1.33MB
返回 下载 相关 举报
云计算文件系统的实现毕业设计(论文).doc_第1页
第1页 / 共59页
云计算文件系统的实现毕业设计(论文).doc_第2页
第2页 / 共59页
云计算文件系统的实现毕业设计(论文).doc_第3页
第3页 / 共59页
云计算文件系统的实现毕业设计(论文).doc_第4页
第4页 / 共59页
云计算文件系统的实现毕业设计(论文).doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《云计算文件系统的实现毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《云计算文件系统的实现毕业设计(论文).doc(59页珍藏版)》请在三一文库上搜索。

1、计算机科学与技术学院毕业设计(论文)论文题目云计算文件系统的实现指导教师 职 称 讲师学生姓名 学 号 专 业 网络工程班 级系 主 任 院 长 目录摘要iAbstractii绪论1第一章 云计算的介绍11.1云计算的发展概况21.2课题研究意义及研究内容21.2.1课题的研究意义21.2.2课题的研究内容5第二章 云计算系统的研究62.1云计算的服务层次62.2云计算系统的结构和原理72.2.1云计算的体系结构72.2.2云计算系统的原理9第三章 开发环境的概述103.1典型云计算平台103.2 Hadoop架构的介绍103.2.1 Hadoop的概述103.2.2 MapReduce分布式

2、处理技术的介绍133.2.3 MapReduce 架构143.2.4 HDFS简介163.2.5 HDFS体系结构18第四章Hadoop云平台搭建204.1 Hadoop平台搭建所用到的安装包204.2平台的搭建204.2.3 Windows下系统环境变量的配置274.2.4 安装和配置SSHD服务294.2.5 启动ssh服务314.3 Eclipse Hadoop插件开发配置364.3.1 Eclipse插件的介绍364.3.2 具体步骤39第五章 云文件系统的实现405.1云文件系统实现前的技术准备405.2文件系统服务器端代码415.3云脑系统的登录实现425.3.1 登陆实现代码42

3、5.4云文件夹的制作445.4.1工具菜单栏445.4.2快捷操作栏465.4.3 文件栏485.5 云文件系统的功能能实现485.5.1、云文件系统中的前进和后退实现485.5.2 新建文件夹的实现485.3.3文件权限的设置50第六章 总结51参考文献52谢辞54云计算文件系统的实现摘要 云计算是一种基于互联网提供服务的业务模式,它能够实现IT基础设施的资源化和服务化,用户可以按需进行定制和付费,从而彻底改变了传统IT基础设施的提供和支付方式,有效解决了无限增长的海量信息存储和计算问题。文章给出了云计算分布式文件系统的主要类型,分析了Google文件系统(GFS)和Hadoop分布式文件系

4、统(HDFS)的演进情况。最后,详细描述了分布式文件系统的工作原理。本文主要完成云计算文件系统的实现,主要的实现方法是通过Hadoop平台及Eclipce开发环境来实现文件系统的各种功能及文件系统的创建和撤销。给用户一个类似Windows中我的电脑一样的用户体验,可以根据用户意愿实现文件目录及文件进行管理。关键字:云计算;Hadoop;HDFS;文件系统 Cloud computing file system implementationAbstract Cloud computing is an internet-based service business model, IT can re

5、alize 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 way, effectively solve the mass information storage and computational problems of unlimited growth. Article give

6、s 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 detail the working principle of the distributed file system.This paper mainly completed the implementation of cloud

7、 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 creation and revoked. Give users a similar to Windows in my computer as user experience, can according to users intenti

8、on to file directory and file management.Keywords: cloud computing; Hadoop;HDFS;the file system ii南华大学计算机科学与技术毕业设计(论文)绪 论云计算是基于互联网将规模化资源池的计算、存储、开发平台和软件能力提供给用户,实现自动化、低成本、快速提供和灵活伸缩的IT服务。云计算是利用将没有用到的资源整合起来形成一个大型的集群,提高资源利用率。从云计算的角度看软硬件都是服务,云计算将催生出新的增长模式,如云软件托管中心、云软件销售等。云计算将使技术人员和使用者都面临着一个巨大的变革。云计算能够给用户提

9、供可靠的、自定义的、最大化资源利用的服务,是一种崭新的分布式计算模式。同时,云计算和其他技术及理论的有机结合,也是解决理论研究和实际应用的重要途径。第1章 云计算的介绍1.1云计算的发展概况随着电子计算机技术的的发展,人们开始适应的单机工作模式将随着云计算的出现面临着巨大的变革。人们将从习惯于购买软件和硬件变为软件和硬件都将隐没于云端,用户在这种技术下面所对的将全部是服务。所以它不仅仅是改变了计算机的使用方法,它也将改变人们的日常生活。云计算从技术理念出现,到技术融合创新,再到商业运营成功,前后经历几十年,是各种技术发张到一定阶段,在某些因素(宽带的普及、互联网上的海量数据、信息化的快速发展、

10、多个IT巨头的实践)共同促进下形成的一个新的业务领域。云计算的发展经历了以下几个阶段:第一阶段:关键技术探索期(20世纪90年代之前)。在这一阶段,虚拟化、分布式计算、并行计算等关键计算和概念纷纷出现并取得了一系列的进展。第二阶段:IT服务化商业模式探索期(20世纪90年代初到21世纪初)。在这一阶段随着硬件性能的大幅提提升,服务器的利用率迅速下降,管理运营成本逐渐成为IT的主要支出之一。为了提高服务器的利用率降低运行成本开始实行虚拟化。 第三阶段:云计算技术和商业模式实践期(21世纪初至今)。在虚拟化、自动化、分布式计算和存储技术开始走向成熟后,互联网巨头在借鉴以往经验的基础上对商业模式进行

11、了在创新,并且涌现出了若干经典的成功案例,从而为云计算最终的粉墨登场提供了素材。1.2课题研究意义及研究内容1.2.1课题的研究意义随着电子计算机技术的的发展,人们开始适应的单机工作模式将随着云计算的出现面临着巨大的变革。人们将随着习惯于购买软件和硬件变为软件和硬件都将隐没于云端,用户在这种技术下面所对的将全部是服务。所以它不仅仅是改变了计算机的使用法方,它也将改变人们的日常生活。 企业中4/5的数据是非结构化数据,这些数据每年按指数增长3/5。非结构化数据,顾名思义,是存储在文件系统的信息,而不是数据库。据报道指出:平均只有1%-5%的数据是结构化的数据。如今,这种迅猛增长的从不使用的数据在

12、企业里消耗着复杂而昂贵的一级存储的存储容量。如何能够更好的保留那些在全球范围内都具有潜在价值的不同类型的文件,而不会因为处理它们却干扰日常的工作?虽然可以采购更多的就地存储设备,但这些存储设备总会有局限性的。云存储技术已经获得越来越多的IT公司的青睐。实现在云端的文件的共享是云计算的一种应用,是将用户计算机上的文件分块上传到不同的存储节点,然后可以使其他地区的用户可以共享到你上传的文件。总的来说,本文主要讲述了以下几方面的意义:1)随着计算机技术的飞速发展,数据量也随之变得越来越庞大,怎么对大量数据进行有效管理已经成为企业的关键问题。而如果利用云存储技术解决这个问题,会对企业的经济效益有很大的

13、提高。2)对HDFS的研究方法可以推广到别的集群存储技术研究上,为下一步研究打好基础。3)HDFS可以很轻松的运行在普通的PC集群上,这就会降低了实施运行分布式系统的成本。4)Hadoop平台还没有被广泛地推广应用于各行各业,但是当基于HDFS的云存储应用研究获得一定的成效时,就会对Hadoop技术起到很好的推广作用。云计算是将软硬件隐藏在云端,给用户提供便利的服务,现在来看一下云计算的优缺点。(1)云计算的优点:1)降低电脑用户成本 因为云计算的开发平台对PC机几乎没有什么特殊要求,因此在进行云计算开发时几乎不需要高买一些高端的计算机来满足设计的必要,这就大大的降低了用户电脑成本。2)改善计

14、算机的性能 因为云集算就是一种用户提出请求而不需要在自己的PC机上运行就能得到结果的技术,因此用户不需要在自己的PC机上安装大量所需的软件及高的硬件配置从而也就是不用消耗大量用户PC机的资源所以用户计算机的性能奖的到大的改善。 3)降低IT基础设施投资 一些组织的IT部门也可以通过使用云计算而降低成本,用云计算的计算和存储能力代替组织能的资源开销,从而企业可以减少IT本门的投资,而对于一些需要处理计算量很大的企业我们也不需要购买大量的和高端的软硬件来处理大量的数据,这也可以通过云计算狠容易的完成。 4)减少软硬件的维护问题 因为用户所需要的服务都是在云端完成,因此不再用担心软硬件的维护问题,所

15、用到的软硬件几乎都是在云计算管理者那里,所以只要维护好自己用的PC机的软硬件就好了。5)减少软件开发 由于一些成本的降低,很多云计算的软件服务费用都会降低,所以这将减少软件的开发。6)及时的软件更新 由于大部分软件都隐藏在云端所以用户几乎不在用对软件的更新,这些将在云计算管理者那里由管理人员更新,用户将不用再花费高额的费用或时间进行软件的 更新。7)计算能力的增加 这是非常明显的,应为当用户和云端连接起来后几乎可以用整个云的计算能力。8)无限的存储能力 因为云计算就是非本地的计算机资源的集合,它是将大量的计算机没有用到的资源集合起来 ,所以它有无限的存储能力。9) 增加数据的安全性。因为在云计

16、算系统里一台计算机的崩溃不会影响到整个的系统,将不会影响我们存储在云端的数据,而如果没有云的存储我们自己的计算机的崩溃将可能使我们的数据丢失,因此使用云计算将很高的增加数据的安全性。10) 数据的获取将无地点限制 云计算及将大量的非本地的计算机集合成集群,因此只要我们有一台能连接到网络的计算机就可以在这个集群里索取任何地点的数据。(2)云计算的缺点:1)要求持续的网络连接 用户要通过连接网络来应用程序和一些文档,而不连接网络几乎不能做这方面的任何事情,因此要能充分的利用云计算就需要持续的连接网络。2)低网络环境下不能很好工作 几乎与你计算的各种应用都需要大量的带宽来下载,因此在底网络连接下就不

17、能很好的进行云计算。3)反应慢 因为数据在客户端和云端要不断的进行传输,因此应用程序的反应都要比在桌面的应用程序反应要慢。4)功能有限制 就现在的云计算功能和桌面的应用程序比较他的功能还是有限制的,较桌面的应用程序功能缩水了很多。5)云不能保证数据有丢失 虽然在云端存储的数据较个人计算机数据的安全性能要高,但是它也有不完善的地方,当我们的数据不知道因为什么原因丢失时,云计算相应的持有者并不负有任何责任。6)数据安全性 由于云上的资源是公共获取的,所以当我们把数据存储在云端时,存在数据被泄露出去的危险。1.2.2课题的研究内容本文主要研究基于云计算文件系统的实现,本文首先介绍了云计算的定义及其发

18、展历史,从云计算的一路发展,揭示了云计算的优点及缺点。第二本文介绍了云计算系统的体系结构及工作原理,第三本文主要做关于文件系统的实现,从而介绍了实现文件系统的云平台,第四就是搭建这里所需要用到的平台及环境,最后通过平台及环境实现文件系统。第2章 云计算系统的研究2.1云计算的服务层次 与传统的PC系统相对应,云计算系统可以在硬件资源、平台到和应用程序等各个层次为用户提供各种级别的服务,即业界普遍认同的经典云计算服务体系-基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这些服务的交互可以与云计算实现模型的不同层次对应:IAAS服务主要依托于云计算基础构架层,向外提供基

19、础资源服务,PAAS服务主要依托于云计算应用开发和执行环境,向外提供应用开发与运行托管服务,SAAS服务主要通过云计算应用软件层向外提供应用软件服务。其服务体系如图2.1 : 云计算基础架构 SaaS PaaS IaaS 图 2.1 经典云计算服务体系 在云计算中,根据其服务集合提供的不同服务类型,把云计算的整个服务体系划分为4个层次分别为应用层、平台层、虚拟化层及基础设施层,其中每一层都对应了一个子服务集合,如下为云计算服务层次。 应用层 平台层 基础设施层 虚拟化层软件即服务平台即服务基础设施即服务硬件即服务云计算四层模式云服务集合中的子服务图 2.2 云计算服务体系结构云计算的服务层次结

20、构是根据服务集合来划分的,这与计算机网络体系结构中的层次划分有所不同。在计算机网络体系结构中每个层次都会实现一定的功能,层与层之间都会有一定的联系。但是云计算体系结构中的层次是可以分割的,即某一层次可以独立的完成一个用户请求而不用其他的层次为它提供一些必要的支持和服务。2.2云计算系统的结构和原理2.2.1云计算的体系结构 云计算平台是一个十分强大的云网络,连接了很多的并发网络计算和服务,可以利用虚拟化技术增强每一个服务器的能力,并且将各自的资源通过云计算平台整合起来,提供超级计算的能力和存储能力。通用的云计算体系结构如下。云用户端管理系统部署工具服务器集群服务目录资源监控 图 2.3 云计算

21、体系结构这里的云用户端指向云端提出请求的交互界面,提供可以让用户使用云的入口,云计算的“大门”为浏览器,因此用户可以通过web浏览器进行注册,登录、制定服务、配置和管理用户。打开应用的实例与本地桌面系统一样。管理系统和部署工具就是提供管理和服务,能够管理云用户及对用户授权、登陆、认证等进行管理,并且可以管理可用计算资源,接受用户的请求,根据请求转发到相应的应用程序,调动资源和应用,动态的部署、回收、配置资源。服务目录是云用户在取得相应的权限后可以选择或制定服务,也可以对已有的服务进行取消定制的操作,在云用户端生成相应列表或图标的形式用以展现相关的服务。监控是计算和监控云计算系统的资源的使用情况

22、,当发生某事件是可以做出充分的反应,完成节点资源监控、负载均衡配置和同步配置,确保资源能够顺利的分配给需要的用户。服务器集群式虚拟的或物理的服务器,由管理系统管理,负责高并发量用户请求处理、用户web应用服务、大运算量计算处理,云数据存储是采用相应数据的数据切割算法采用并行方式上传下载大容量数据。2.2.2云计算系统的原理云计算是对分布式处理、并行处理和网格计算及分布式数据库的改进,它基于解决大型问题的并行计算和网格计算,将计算资源作为可计量的服务为用户提供公用计算,在互联网宽带技术和虚拟化技术的高速发展后产生出云计算。云计算的基本原理为利用远程的或非本地的服务器的分布式计算为互联网的用户提供

23、服务。这可以使用户将资源切换到有需求的应用那里,根据需求访问计算机和存储系统。云计算可以把普通服务器或pc机连接起来获得超级计算机及计算机的计算和存储等功能,而且成本很低。云计算实现了按需计算,提高了计算机软硬件的利用效率。 云计算是一种全新的基于互联网的超级计算机模式和理念,实现云计算需要很多种不同技术的结合,并且需要使用软件来实现将硬件资源虚拟化的调度及管理,形成一个大的虚拟化资源池,把存储与移动设备、个人计算机和其他设备设备上的处理器资源集中在一起协同工作。按照最大化理解云计算就是把计算机的资源都放到互联网上,互联网就是与计算时代的云,其中计算资源包括计算机的软件资源和硬件资源。第3章

24、开发环境的概述3.1典型云计算平台因为云计算的快速发展及其功能进一步的体现,所以云计算的研究吸引不同领域的巨头,因此对云计算的理论及实现架构有所不同。如亚马逊利用虚拟化的技术提供云计算服务,退出S3提供可靠、可扩展的及快速的网络存储设备服务,而弹性可扩展的云计算服务器EC2则采用Xen虚拟化的技术,实现一个虚拟化的执行环境,可以让用户通过互联网来执行自己的程序。IBM将包括Xen和PowerVM的虚拟的Linux操作系统景象与Hadoop并行工作负载调度。现在的云计算通过对资源层、应用层的虚拟化和平台层以及对物理上的分布式集成,使庞大的计算机资源整合在一起。更为突出的是,云计算不仅是资源的简单

25、汇聚,他为我们提供了一种管理机制,让整个集群作为一种资源池对外提供服务,并对开发者透明的获取资源和使用的权限。3.2 Hadoop架构的介绍 在云计算技术中,编程平台的搭建是十分重要的一个环节,而在各种编程平台中hadoop技术是应用最为广泛的开源编程平台3.2.1 Hadoop的概述在Google发表MapReduce之后,04年开源社群用java语言搭建了一套Hadoop框架,用来实现MapReduce算法,用其能把应用程序分割成很多很小的工作单元,每个单元能在任何集群的节点上执行或重复执行。Hadoop是一个分布式存储与计算平台,其适合大数据,对于小数据而言,Hadoop处理效果反而不佳

26、。Hadoop还提供了一种分布式文件系统GFS,是一个可扩展的、结构化的、具备日志分布式文件系统,支持分布式大数据量的读写操作,其容错性很强。Hadoop框架具有高容错性和对数据读写的高吞吐率,可以自动的处理失败节点,下图为hadoop的架构 云计算架构 Hadoop BigTable(分布式数据库)MapReduce API(Map,Reduce)GFS(Goole分布式文件系统)图 3.1 Hadoop架构在Hadoop架构中MapReduce API 提供reduce和map的处理、BigTable分布式数据库的数据存储和GFS分布式文件系统。使用Hadoop架构可以非常轻松的和方便的完

27、成处理海量数据的分布式并行程序,并且可以运行到大规模集群上。基于Hadoop架构平台可以给出云计算的执行过程如下图所示。MapReduce API MasterWorker1 worker2.workern选择执行Map程序的Worker机器分配数据块到执行map的机器执行将map结果存到本机磁盘选择执行Reduce程序的worker机器结合GFS和BigTable读取远程Map,混合、汇聚、排序,执行Reduce图 3.2 云计算的执行过程Hadoop作为应用最广泛的云计算编程环境所以它有着大量的优点: 1)可扩展性:不管是计算机的扩展性还是存储的扩展性都是hadoop设计的基础对hadoo

28、p的设计十分重要,hadoop的扩展性十分的简单,不用修改已有的任何结构。 2)Hadoop很可靠:mapreduce的监控和分布式文件系统备份恢复机制使hadoop有了很高的可靠性。 3)对硬件要求低:hadoop架构能在任何计算机上执行,对计算机没有什么特殊的要求。Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送(Ma

29、p)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。 Hadoop 的最常见用法之一是 Web 搜索。虽然它不是惟一的软件框架应用程序,但作为一个并行数据处理引擎,它的表现非常突出。Hadoop 最有趣的方面之一是 Map and Reduce 流程,它受到Google开发的启发。这个流程称为创建索引,它将 Web爬行器检索到的文本 Web 页面作为输入,并且将这些页面上的单词的频率报告作为结果。然后可以在整个 Web 搜索过程中使用这个结果从已定义的搜索参数中识别内容。3.2.2 MapReduce分布式处理技术的介绍 MapReduce是Goole开发的c+、jav

30、a、python的编程工具,用于大规模的数据集的并行运算,同时也是云计算的核心技术,一种分布式运算技术,也是简化的分布式编程模式,适合处理大量的数据的分布式运算,用于解决问题的程序开发模式,同时也是开发人员解决问题的方法。 MapReduce模式的运行方式是将问题拆分为Map映射和Rduce化简的方法,先通过映射程序将数据分割成不相关的区块,调度非大量计算机处理达到分布式运算的效果,然后通过化简程序将结果整合起来,最后输出开发者需要的结果。MapReduce软件实现是指定一个映射函数,把键值对(key/value)映射成新的键值对,并形成一系列的中间形式的key/value对,在把他们传给化简

31、函数,把有相同中间形式的key及value合并在一起。这里的map及reduce具有一定的关联性,如表3.1所示。 表 3.1 map、reduce 关联表函数输入输出 Map Reduce (K1,l1) (k2,list(v2) List(k2,v2) List(v2)其中v1、v2即可以使简单数据,也可是一组数据,对应不同的映射函数规则。在map过程中将数据并行,就是把数据用映射函数分开,而redduce是把分开后处理过的分开数据用化简函数的规则在整合在一起,其实就是map函数是将数据分开的过程,而reduce则是对应的整合数据。使用mapreduce,即使编程人员不会分布式并行编程的情

32、况下,也同样可以将自己的程序运行在分布式系统上。Mapreduce的应用也十分广泛包括简单的计算任务、集群计算环境和海量输入数据等。3.2.3 MapReduce 架构MapReduce主要用于处理产生大数据集的相关实现。用户指定一个映射函数来处理一个key/value对,从而形成一些列中间形式的key/value对。然后再指定一个化简函数合并所有的具有相同中间形式的key的value合并在一起。下面将通过举例来反应mapreduce的架构形式。Mapreduce的主从结构:主节点,只有一个: JobTracker 其主要的功能负责接收客户提交的计算任务、把计算任务分配给TaskTracker

33、s执行、监控TaskTracker的执行情况、 从节点,有很多个:TaskTrackers 它的主要功能是执行JobTracker分配的计算任务。下面为举例查看mapreduce架构报表系统,数据库和数据仓库会设计的比较麻烦,送一个指令给数据库。报表内存可能小于数据库数据,不能一次性加载,可以采用分布读取,但十分慢,报表系统负责计算的性能远远低于数据量本身。数据量本身远远超过了计算能力,只能用时间换空间。怎么改进?如果都跑相同的报表系统,跑多台,上面做累加,但是数据库这块分成三份,北京一个库,河北一个库,可以报表1系统跑北京数据,报表系统2跑天津数据,这样每个报表处理的数据量处理为原来的一部分

34、。再找一台服务器进行汇总,汇总只是加上,逻辑是不一样的。如果要处理海量数据,从目前硬件的局限,只能是运行很多的服务器来处理海量数据,运行少量的服务器处理中间结果。把逻辑拆分不同的系统中。 MapReduce :汇总和报表系统。报表叫map 最后的汇总叫reduce .让一个节点关系管理这些东西,Map 和reduce在管理上看没有什么差别,由他分配谁是什么角色。其mapreduce架构图形如下。报表系统一Map这一部分是mapreduce汇总系统reduce数据库是分布式的报表系统2管理节点报表系统3客户 图 3.3 报表mapreduce架构图3.2.4 HDFS简介HDFS是Hadoop实

35、现的一个分布式文件系统, HDFS具有高容错性的特点,为了保证数据的一致性,一般都采用一次写入,多次读取的方式。并且设计用来部署在低廉的(low-cost)硬件设备上,它有单一的文本空间,而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 其中HDFS他把数据分成很多很小的快,以64M的大小为一个快,块是磁盘上最小单位。每个数据块(block)在很多个从节点存有数据,客户端是通过主节点获取

36、数据块的位置,然后访问从节点获取数据。(1)与普通文件系统的比较 分布式文件系统较普通的文件系统而言,其相同的是分布式文件系统中的文件也是被分成以大小为64MB为一块的数据块存储的,而与普通的文件系统不同之处在于,当一个文件的大小不足64mb时,则这个文件将不占用整个数据块。 (2)主从结构 首先介绍主节点和从节点。主节点:只有一个Namenode, 其主要的功能责任是接受用户的操作请求、维护文件系统的目录结构,便于对文件进行分类管理及管理文件与Block之间关系,Block与Datanode之间关系。从节点:有很多个Datanode,它的主要功能职责是存储文件,当文件被分成很多数据块时,将其

37、存放在磁盘上。下面我们通过一个主从节点的例子在了解一下主从结构。 主从结构:须有地方存储服务器和磁盘的映射关系。QQ和具体数据的对应信息。又叫做元数据信息。检索数据更快的话,先访问元数据。所有的节点信息,包括容量信息(不断变化,需要通过节点和元数据不断可以通信,经常通信可以称为心跳机制,节点不停向元数据发送信息,元数据的职责已经改变,管理各个节点的资源情况)都在元数据节点上注册,元数据,索引机制,数据量越大,价值越能体现出来。 引出角色划分:继续增加节点的时候会比较麻烦。节点上面跑程序,不停的发送信息。节点上面跑服务,不会停止。调用元数据函数,传入形参,我节点的信息。元数据职责,处理每个节点的

38、信息。客户可以和节点通信,也可以和元数据通信,也可以元数据和节点通信。元数据就是Namenode,主节点。 下面通过一个QQ例子的图来了解一下元数据维护文件和快的关系,以及快与所在节点的关系。 元数据(管理节点)心跳机制节点 磁盘a节点 磁盘bQQ服务器节点 磁盘c 图 3.5 主从结构图 (3)文件系统的名字空间 传统的文件组织体系结构是被HDFS所支持的,程序或用户可以创建目录,并在其中存储自己想要存储的文件。名字空间结构与大多数文件系统是十分相似的。用户可以对文件进行删除、创建或者让文件从一个目录移到另外一个目录以及对一个文件进行重命名等操作。就现在的DHFS而言还不能实现访问权限控制及

39、用户配置,也不支持软硬连接。然而,就现在的DHFS这些性能都不会被影响到。3.2.5 HDFS体系结构在HDFS中,是由给定的名字节点NameNode来管理一些文件系统的名字空间操作的,例如打开和关闭及重命名目录或文件。名字节点NameNode会将block映射到数据节点DataNode上,并处理来自HDFS客户端的读或写请求。DataNode数据节点还根据NameNode名字节点指令删除、创建及复制数据块。HDFS体系架构,如下图所示。客户端NamenodeMetadata opsRead datanodes客户端写blocks应用Block opsdatanodes存储服务器存储服务器图

40、3.6 DHFS 体系结构从DHFS体系结构图可以看出,一个集群包含一个主节点,使系统机构得到了很大的简化。主节点作为系统元数据的存储及仲裁者,使得这种设计形成了一个简化模型用来管理每个名称空间的数据分布,使得用户数据不会流经名字节点。(1)主节点和从节点之间的关系 主节点和从节点是一些软件组件,主要目的是用一种解耦和方式跨越多个异构操作系统在普通的计算机上运行。HDFS是由Java编程语言编写的,因此,HDFS能在任何支持Java编程语言的机器上运行。在一个集群里拥有一台专用机器,用来运行一个主节点,可能还有一个从节点,其他集群中的机器都运行一个从节点。HDFS典型部署是在专门的机器上运行主

41、节点,集群中的其他机从节点;也可以在运行主节点的机器上同时运行从节点,也可以一台机器上运行多个从节点。一个集群只能一个主节点。主节点使用事物日志(editLog)用来记录HDFS元数据的变化,同时也使用使用映射文件(FsImage)存储文件系统的命名空间,其中包含文件的属性信息等。映射文件和事物日志都存储在主节点的本地文件系统中。主节点启动时,从一存储的了映射文件和事物日志的盘里读取映射文件和事物日志,使事物日志的事物都可以应用到内存中的映射文件上,然后将新的元数据移动到本地磁盘新的映射文件中,这样就可以截去旧的事物日志,这个过程通常被称为检查点(Checkpoint)。HDFS还设有Seco

42、ndary NameNode节点,它辅助主节点处理事物日志和映射文件。主节点启动的时候就合并映射文件和事物日志,而Secondary NameNode周期性的从主节点复制映射文件和事物日志到临时目录,合并成为新的映射文件后再重新上传到主节点,主节点及时更新映射文件和清理事物日志,使事物日志大小始终控制在可配置的限度内。(2)NameNode管理对文件系统名字空间的更改和维护NameNode维护系统的名字空间,它将记录每一次的名字空间内的任何改动或名字空间本身属性的改变。我们知道HDFS有很强的容错性,所以HDFS复制文件块以便容错,应用程序在一个文件创建时就制定该文件副本数,这个数量值可以在以

43、后任何时候更改,这个数量值成为复制因子。主节点负责所有块复制决定。第4章 Hadoop云平台搭建4.1 Hadoop平台搭建所用到的安装包 Hadoop安装包- hadoop-1.1.2.tarJDK- jdk1.8.0_05Eclipse-eclipse-standard-kepler-SR2-win32-x86_32.zip Cygwin-1.7.29-24.2平台的搭建.4.2.1jdk的安装将jdk的安装包拷贝到root/Downloads/目录下并在此安装jdk其步骤如下; 图4.1 jdk安装包的存放路径 图4.2 jdk的安装步骤图4.3 jdk的安装步骤图4.4 jdk的安装步

44、骤图4.5 jdk的安装步骤 在这我们看到jdk已经配置成功。 4.2.2 Cygwin的安装 Cygwin的功能就是在Windows平台上模拟出unix环境。现在来对其进行安装,首先,我是先下载了一个引导程序来对它进行安装我先登录网站http:/ setup-x86.exe界面(2)点击下一步进入下面的界面图4.7 setup-x86.exe的安装步骤 第一项“Install from Internet”表示从网络上找到安装文件后会自动安装。一般网络环境好的可以先择此项,但此安装不会保存安装文件,因此若下次需再次安装时也一定需要有网络;第二项“Download Without Install

45、ing”表示下载安装镜像,但不安装。这里下载有个好处就是,在以后没有网络的情况下也可以自由安装;第三项“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的安装步骤 这里选择的是之前下载的setup是存放的地址。(3)继续点击下一步,出现如下界面图4.

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1