基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc

上传人:仙人指路1688 文档编号:2392171 上传时间:2023-02-17 格式:DOC 页数:100 大小:1.11MB
返回 下载 相关 举报
基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc_第1页
第1页 / 共100页
基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc_第2页
第2页 / 共100页
基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc_第3页
第3页 / 共100页
基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc_第4页
第4页 / 共100页
基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于hadoop的分布式存储平台的搭建与验证毕业设计论文.doc(100页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)中文题目:基于hadoop的分布式存储平台的搭建与验证英文题目: Setuping and verification distributed storage platform based on hadoop 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

2、作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个

3、人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日任务书题 目: 基于hadoop的分布式文件系统的实现与验证 适合专业: 信息安全 指导教师(签名): 提交日期: 2013

4、 年 3 月 8 日学院: 计算机与信息技术学院 专业: 信息安全 学生姓名: 学号: 毕业设计(论文)基本内容和要求:本项目的目的是要在单独的一台计算机上实现Hadoop多节点分布式计算系统。基本原理及基本要求如下:1. 实现一个NameNodeNameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。实际的 I/O事务并没有经过 NameNode,只有表示 DataNode 和块的文件映射的元数据经过 NameNode。当外部客户机发送请求要求创建文件时,

5、NameNode 会以块标识和该块的第一个副本的 DataNode IP 地址作为响应。这个 NameNode 还会通知其他将要接收该块的副本的 DataNode。2。实现若干个DataNodeDataNode 也是一个通常在 HDFS 实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。DataNode 响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建、删除

6、和复制块的命令。NameNode 依赖来自每个 DataNode 的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据。如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施,重新复制在该节点上丢失的块。具体设计模块如下: 1、 在虚拟机上安装多个linux系统。并将其中之一拟作为namenode,其余系统拟作为datanode 2、 在上述所有系统中安装ssh,以确保不同节点之间可以实现无密钥安全通信。 3、 在上述系统中安装hadoop,以确保各个系统都可作为hadoop系统的其中一个节点。毕业

7、设计(论文)重点研究的问题:1. 基于windows环境,完成虚拟机上一个linux系统下hadoop的实现。2. 基于系统克隆技术实现hadoop节点的复制。3. 在上述基础上实现节点间无密钥安全通信。4. 基于上述系统上运行wordcount以验证基于hadoop的分布式文件系统的有效性。5. 分析handoop 现有的安全机制可能存在的安全隐患并提出相应的解决措施。毕业设计(论文)应完成的工作:1。 了解整个系统的结构,针对系统所要完成的各项工作进行该方面的学习,掌握基于hadoop的分布式文件系统设计和实现方法。2。 完成系统中必备的各个配置步骤。3。 在系统上运行wordcount并

8、进行系统性能分析。4。 完成该项目所涉及代码及配置步骤的记录。5。 对handoop现有的安全机制存在的安全隐患提出相应的解决措施。 6。 毕业论文。参考资料推荐: Tom White著,曾大聃,周傲英译,Hadoop权威指南专著,北京:清华大学出版社,2010陈勇著,基于hadoop平台的通信数据分布式查询算法的设计与实现硕士学位论文,北京:北京交通大学计算机学院,2009 周品主编,hadoop云计算实战专著。北京:清华大学出版社,2012 赵书兰编著,典型hadoop云计算专著 。北京: 电子工业出版社, 2013其他要说明的问题:题 目: 基于hadoop的分布式文件系统的实现与验证

9、学院: 计算机 专业: 信息安全 学生姓名: 学号: 文献综述:Hadoop分布式文件系统是遵循Google文件系统原理进行开发和实现的,受到IT业界极大关注,并已被广泛应用。鉴于当前缺乏从系统设计理论的角度对其开展的相关研究,本文从Hadoop分布式文件系统架构的建模人手通过对模型各组成部分进行分析并将其与传统的分布式文件系统进行比较。总结出Hadoop分布式文件系统具有的海量、高可扩展性、高可靠性、高性能等面向云计算领域应用的霞要特征。本文有助于研究者系统、深入地研究Hadoop分布式文件系统的设计与实现。并为云计算背景下的分布式文件系统设计提供雨要的参考。云计算是一种新兴的计算模型,它是

10、并行计算、分布式计算、网格计算的综合发展,或者说是这些计算科学概念的商业实现。它的基本原理是将计算、存储及软硬件等服务分布在非本地的大量计算机构成的资源池上,用户通过网络获得相应的服务,从而有效的提高资源利用率,实现了真正的按需获取。目前云计算模型众多,但多为商业模型,而Hadoop作为开源的云计算模型,它模仿和实现了Google云计算的主要技术,并且使用Java语言编写,可移植性强,为个人和企业进行云计算方面的研究和应用奠定了基础。Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)高可靠性和高可扩展性的分布式文件系统能够提供海量的文件存储能力

11、。它的开发和实现遵循了Coogle文件系统(Google file system,GFS)的核心原理,而GFS作为Google云计算核心技术体系的底层,为相关技术如MapReduee分布式计算模型、Bigtable分布式数据库等)的实现提供了有效的支撑。同样,Hdfs本身以及以它为基础的一系列开源软件技术的研究和开发,已被业界广泛应用到云计算的具体实践中获得了非常好的效果。当前针对HDFS的研究普遍关注其具体的技术细节和实施效果尚缺乏对其进行系统设计理论上的分析和比较。本文从模型分析的角度人入手首先介绍在业界获得普遍认同的分布式文件系统的用户需求和架构模型然后针对HDFS的体系架构进行实现,最

12、后将HDFS与传统的分布式文件系统进行比较总结了HDFS在云计算领域中应用的优势及存在的安全问题。并对其设计和应用提出建议。从模型的角度出发可以分析出HDFS在设计和实现上的主要特征。1采用专用的服务器提供目录服务。Namenode对文件元数据进行管理能够维护统一的文件名字空间供用户访问以及从全局上对系统进行控制提高了系统的透明性和可扩展性:同时。Namenode不承担文件内容的供给,减轻了节点压力。2采用数目众多的服务器提供扁平文件服务。多个Datanode可以同时为用户提供文件数据块服务。它们分布广泛并互为备份提高了系统在节点级的可靠性。因此单个节点可以由普通的PC服务器担当。有利于降低系

13、统成本。3采用文件数据分块和数据块复制机制。文件数据被划为多个数据块,有利于对其内容进行查找和定位,同时数据块的多个拷贝能够提高系统在文件级和数据块级的可靠性;同时,分布在不同Datanode上的数据块可以被并行访问,改善了访问性能。4采用多种通信机制。根据通信对象和传输内容的不同,分别提供了远程过程调用和数据流两种通信方式,实现了带外控制,提高了访问性能。Hadoop的优点在于:1)可扩展:不论是存储可扩展还是计算可扩展都是Hadoop的设计根本。Had00p的扩展非常简单,不需要修改任何已有的结构。2)经济:其框架可运行在任何廉价Pc上,对硬件没有特殊的要求。3)可靠:分布式文件系统的备份

14、恢复机制及M印Reduce的任务监控保证了分布式处理的可靠性,Hadoop默认提供1个以上备份。4)高效:分布式文件系统高效数据交互实现及MapReduce结合kal Data处理的模式,为高效处理海量信息打下基础。但是,通过对比、分析也可以发现,HDFS在一些方面仍然有待完善,可以向传统的分布式文件系统借鉴相关的方法和技术。同时,HDFS也不是万能的,文件服务的提供者必须根据实际需要选择合适的文件系统。主要参考文献:(1)Tom White著,曾大聃,周傲英译,Hadoop权威指南专著,北京:清华大学出版社,2010(2)陈勇著,基于hadoop平台的通信数据分布式查询算法的设计与实现硕士学

15、位论文,北京:北京交通大学计算机学院,2009(3) 周品主编,hadoop云计算实战专著。北京:清华大学出版社,2012(4)赵书兰编著,典型hadoop云计算专著 。北京: 电子工业出版社, 2013(5)赵春燕云环境下作业调度算法研究与实现北京交通大学,2009(6)纪俊一种基于云计算的数据挖掘平台架构设计与实现(7)李析,廖志恒云计算的关键技术及发展现状J九江职业技术学院学报20112(8)云存储技术研究百度文库http:/www。wenku。baidu。com(9)张建勋,古志民,郑超云计算研究进展综述J计算机应用研究201027(2):429433(10)金松昌方滨兴杨树强,贾焰基

16、于Hadoop的网络安全日志分析系统的设计与实现A全国计算机安全学术交流会论文集C,北京,20lO:257262研究方案1。基于windows环境,完成虚拟机上一个linux系统下hadoop的实现。2。基于系统克隆技术实现hadoop节点的复制。3。在上述基础上实现节点间无密钥安全通信。4。基于上述系统上运行wordcount以验证基于hadoop的分布式文件系统的有效性。5。分析handoop 现有的安全机制可能存在的安全隐患并提出相应的解决措施。研究步骤1。 了解整个系统的结构,针对系统所要完成的各项工作进行该方面的学习,掌握基于hadoop的分布式文件系统设计和实现方法。2。 完成系统

17、中必备的各个配置步骤。3。 在系统上运行wordcount并进行系统性能分析。4。 完成该项目所涉及代码及配置步骤的记录。5。 对handoop现有的安全机制存在的安全隐患提出相应的解决措施。6。 毕业论文。预期结果1。在linux下搭建好基于hadoop的分布式文件系统2。在该文件系统下实现wordcount的运行3。对hadoop的安全机制进行分析并提出可行建议毕业设计(论文)进度安排:序号毕业设计(论文)各阶段内容时间安排备注1调研,收集资料,了解基本概念3。103。152熟悉linux系统,熟悉hadoop的架构3。163。253在linux下安装hadoop搭建基于hadoop的分布

18、式文件系统3。264。094在文件系统下运行wordcount并分析性能4。104。175分析hadoop的安全漏洞并提出解决措施4。185。206撰写毕业论文5。136。10指导教师意见:指导教师签名: 审核日期: 年 月 日中文摘要Hadoop分布式文件系统是遵循Google文件系统原理进行开发和实现的,受到IT业界极大关注,并已被广泛应用。本毕业设计主要任务是要在单独的一台计算机上实现Hadoop多节点分布式存储平台并研究其安全机制。论文介绍了课题的相关研究背景知识,并且对hadoop的组成及原理进行了详细地介绍和研究。根据实验的需要,完成了平台的总体设计,并针对其性能进行了验证,还对其

19、安全机制进行了研究。首先介绍在业界获得普遍认同的分布式文件系统的用户需求和架构模型然后针对HDFS的体系架构进行实现,最后分析了hadoop的安全机制及相应的安全策略总结了HDFS在云计算领域中应用的优势及存在的安全问题。并对其设计和应用提出建议。本文所采用的实验平台是在virtualbox上安装的ubuntu10。10,应用的是hadoop跨平台文件系统。系统所有的编写、调试与测试都在此实验平台下进行。关键词:hadoop;文件系统;安全;云计算AbstractHadoop Distributed File System is based on the principle of Google

20、 file system developed and implemented by the great concern of the IT industry, and has been widely used.The thesis aims to set up Hadoop multi-node distributed storage platform and analyze its security mechanisms to be implemented on a separate computer.The thesis first introduces the research back

21、ground knowledge of the subject, and detailed description of the study and the principle of the hadoop. According to the requrements of the experiment, the overall design of the platform, and its performance were verified, further security mechanisms. First the industry generally accepted user requi

22、rements and the architecture of the distributed file system model are introduced。 Then for HDFS architecture to achieve the Hadoop security mechanisms and the corresponding security policy. In addition,the advantages of HDFS in the field of cloud computing applications and the security problem are s

23、ummarized. At last thedesign and application recommendations are presented.The experimental platform installed virtualbox ubuntu10.10 of application is a the hadoop cross-platform file system. All the writing,debugging, and testing are carried out by using in this experiment platform.Keywords: hadoo

24、p; file system; safe; cloud computing目录任务书- 3 -中文摘要1Abstract2第一章 前言211 课题研究背景212 分布式文件系统分类3121 GFS系统3122 蓝鲸分布式文件系统5123 FastDFS513 课题研究目标和本文的主要工作614 论文组织结构6第二章 HADOOP 技术架构研究821 HADOOP 技术背景822 HDFS(HADOOP 分布式文件系统)机制8221 前提和设计目标8222 Namenode 和Datanode9223 文件系统的名字空间10224 通讯协议10225 健壮性1023 HADOOP MapRedu

25、ce 编程模型12231 操作介绍1224 本章小结13第三章 平台的搭建与验证1431 安装Ubuntu Linux操作系统1432 安装jdk1433 修改机器名1634 安装ssh服务1635 安装hadoop1736 在单机上运行hadoop1837 在三台电脑上部署hadoop集群21第四章 hadoop安全分析2341 云安全技术23411 可信访问控制23412 密文检索与处理23413 数据存在与可使用性证明24414 数据隐私保护24415 云资源访问控制25416 可信云计算2542 Hadoop 企业级应用的弱点分析26421 Hadoop 系统单点设计瓶颈26422 作

26、业调度方式单一26423 异构平台兼容性27第五章 hadoop安全协议2751 RPC27511 工作原理28512 协议结构29513 Hadoop RPC机制及原理3052 Kerberos32521 Kerberos介绍32522 Kerberos协议结构33523 Kerberos 的基本协定41524 Kerberos缺陷4253 IPC43531 IPC建立的过程43第六章 结束语44附录I: 翻译原文44中文翻译69参考文献86第一章 前言11 课题研究背景分布式文件系统(Distributed File System)指的是文件系统管理的物理存储资源不一定直接连接在本地节点上

27、,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就象使用本地驱动器一样,下面是三个基本的分布式文件系统。12 分布式文件系统分类121 GFS系统在设计目标上与其它的分布式文件系统相似,比如数据可靠性、系统可扩展性、可用性、健壮性、可伸缩性等。但是它又不同于普通的文件系统,它完全针对Google公司需求而设计的。GFS是非开源分布式文件系统。Google的核心数据就是页面索引。GF

28、S专门对页面索引存储进行优化。GFS和普通分布式文件系统一样都是采用廉价的计算机搭建文件系统集群。GFS和大多文件系统一样都是采用单主机节点主从式架构。它包含两类节点,元数据节点和数据节点。用户通过客户端来访问整个文件系统。对于文件存储的处理,分布式文件系统大多将文件分割成数据块然后分配给数据服务器存储。GFS也采用这种方式,不同的是GFS中数据块以Linux文件形式存储。并且GFS根据设计目标提供了很多相应的策略来达到性能指标,包括数据块副本备份、文件与数据块的映射、以及被删除文件的垃圾回收和系统中文件的负载均衡。之后的分布式文件系统也借鉴了GFS的一些设计理念,比如HDFS。122 蓝鲸分

29、布式文件系统 蓝鲸分布式文件系统(Blue Whale File System,BWFS)是国家高性能计算机工程技术研究中心承担的国家“863”重点支持课题研究成果得到的产物。企业需要处理大规模数据,并且需要有高性能的数据处理能力,这样的需求就诞生了支持集群的BWFS。集群的效果是明显的,也是大势所趋。利用大量计算机组成一个集群体系结构,以此提供高性能计算能力10。传统的分布式文件系统比如NFS、CIFS等采用的是集中式存储结构,这种方式使得集群的低数据I/O能力与系统的高计算能力不匹配。数据传输在传统分布式文件系统中存在瓶颈。中科蓝鲸的研究人员通过自己的技术克服了这一瓶颈,采用集群技术,使用

30、多个存储设备组成集群,提高了数据传输效率。虽然BWFS借鉴了国外一些技术,但主要有自己的创新。蓝鲸文件系统采用了新型结构,网络可扩展体系结构。并且采用虚拟存储技术将多个存储设备上的资源合并成统一的存储空间,进行高效数据管理。BWFS目前可以运行在Red Hat Linux 7.2/8.0/9.0/AS 3、其它厂商的Linux、微软Windows 2000等操作系统中,向上千个客户端提供并发文件访问服务,提供PB级的数据存储容量,GB级的传输带宽。BWFS目前在石油勘探处理、信息检索与处理、数字媒体、遥感、高能物理研究等领域有广泛的应用,为我国工业、国防、科技发展做了很大贡献。并且BWFS的后

31、续系统也一直在研究中,相信我国自主开发的分布式系统能够为国家做更大贡献。 123 FastDFS FastDFS是一个类似GFS的开源分布式文件系统。它是由国人参与开发的,这个是除蓝鲸文件系统外国内比较有名的文件系统。FastDFS主要针对互联网应用,继承了GFS的一些设计理念,包括数据备份,节点负载均衡。同时FastDFS也有自己独特之处。FastDFS相较于其它类GFS分布式文件系统,更加轻量级。它包含两个角色,Tracker Server和Storage Server。FastDFS同样采用Tracker Server作为中心节点13。中心节点的作用在于服务调度和负载均衡。而Storag

32、e Server和其它文件系统中的数据节点一样具有数据存储功能。一般分布式文件系统的中心节点需要记录很多信息,占用很多内存。这种系统的中心节点会成为系统的瓶颈,而国人在设计FastDFS的时候,注重它的轻量级特点,内存占用少。另外FastDFS在数据存储上的设计也比较有特点。它采用一种分组存储的方式。多台机器可以组成一个组,而一个活多个组组成一个集群。用户可以指定数据上传到哪个组,这样用户其实可以动态缓解一些访问压力大的分组。另外这种分组策略能够方便的扩充存储能力,包括组内添加机器的总想扩容和添加新组的横向扩容。FastDFS的结构也不太同于普通文件系统,它可以拥有多个中心节点,它们之间是对等

33、关系。FastDFS不只在分布式文件系统的发展上作出贡献,同样在开源方面也有很大贡献。另外近几年国内外对Hadoop的热捧,使得对HDFS的关注更加多了。HDFS作为Hadoop数据存储的核心。Hadoop项目由Yahoo发起并推动,最后成为Apache下的子项目。在Yahoo,有最大的Hadoop集群,集群中有4000多个节点,70PB的数据量,并且每天10TB的数据量增长。Facebook作为国外知名社交网络运行着世界第二大Hadoop集群系统。而国内很多公司也逐渐研究和使用Hadoop。例如百度、阿里、腾讯、华为等。特别是华为在Hadoop上的贡献比较多。这些公司都将Hadoop作为公司

34、未来数据存储处理的一个解决方案,不遗余力地宣传推广Hadoop1。总的来说,分布式文件系统的发展在国内外都是很迅速,并且也是一个长期研究的课题,特别是对Hadoop的研究应该是未来几年的重点。13 课题研究目标和本文的主要工作本文通过使用HADOOP 平台,对hadoop平台进行了实现并研究了其安全机制。这包括:(1) 对HADOOP 平台下的HDFS(分布式文件系统)和MapReduce 的核心架构、技术以及相关的机制进行了分析和研究,这为分析其安全机制打好了基础。(2) 对安全机制进行了综合的讨论,对数据挖掘流程进行梳理。(3) 在上面的基础上提出了安全策略。(4) 搭建完成基于hadoo

35、p的分布式文件系统并验证其性能,MapReduce 的编程模式,采用相应的并行策略将其移植到HADOOP 平台进行分布式计算。本文给出了算法的详细过程。(5)从理论上分析了hadoop的安全问题并提出解决策略。14 论文组织结构第一章阐述了课题的背景及意义。介绍了分布式文件系统。提出了本文研究的主要内容。第二章详细介绍了HADOOP 框架的核心技术架构,对HDFS 和MapReduce的相关特性,机制进行了深入的讨论。第三章描述了平台的实现过程并验证其有效性。第四章描述了HADOOP的安全问题。第五章提出了hadoop自身的安全机制并提出新的安全机制。第六章为全文总结。列举了本论文的研究成果,

36、并分析了研究工作的不足,展望了进一步研究的内容和方向。第二章 HADOOP 技术架构研究21 HADOOP 技术背景HADOOP 分布式计算框架分布式计算框架作为Apache 下的一个开源项目,目前得到了大量的应用。很多企业以及研究机构使用HADOOP 框架作为研究或者构建自己的云计算服务平台。目前,HADOOP 已经成长为包括Hadoop common,HDFS, MapReduce,ZooKeeper,Avro,Chukwa,HBase,Hive,Mahout,Pig 在内的10 个子项目。其中,HDFS 和MapReduce 是这个项目的核心。要使用HADOOP 构建自己的云计算服务平台

37、,必须深刻的理解和掌握HDFS 和MapReduce。其实,作为一个开源项目,HADOOP 主要产生于Google 分布式文件系统GFS以及Google 的Map/Reduce 编程模式2。22 HDFS(HADOOP 分布式文件系统)机制HDFS 是一个运行在普通的组件集群上的分布式文件系统,它是HADOOP 框架主要的存储系统。由于HADOOP 具有高数据吞吐量,并且实现了高度容错,因此具有很高的效能。本节将对HDFS 的核心机制和架构作深入的研究和分析。研究内容和观点主要来自Hadoop 的官方站点。221 前提和设计目标硬件错误硬件错误是常态而不是异常。HDFS 可能由成百上千的服务器

38、所构成,每个服务器上存储着文件系统的部分数据。我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS 的组件是不工作的。因此错误检测和快速、自动的恢复是HDFS 最核心的架构目标。流式数据访问运行在HDFS 上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。POSIX 标准设置的很多硬性约束对HDFS 应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对POSIX的语义做了一些修改。大规模数据集运行在HDFS 上的应用具有很

39、大的数据集。HDFS 上的一个典型文件大小一般都在G 字节至T 字节。因此,HDFS 被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。简单的一致性模型HDFS 应用需要一个“一次写入多次读取”的文件访问模型。一个文件经过创建、写入和关闭之后就不需要改变。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。Map/Reduce 应用或者网络爬虫应用都非常适合这个模型。目前还有计划在将来扩充这个模型,使之支持文件的附加写操作。“移动计算比移动数据更划算”一个应用请求的计算,离它操作的数据越近就

40、越高效,在数据达到海量级别的时候更是如此。因为这样就能降低网络阻塞的影响,提高系统数据的吞吐量。将计算移动到数据附近,比之将数据移动到应用所在显然更好。HDFS 为应用提供了将它们自己移动到数据附近的接口。异构软硬件平台间的可移植性HDFS 在设计的时候就考虑到平台的可移植性。这种特性方便了HDFS 作为大规模数据应用平台的推广3。222 Namenode 和DatanodeHDFS 采用master/slave 架构。一个HDFS 集群是由一个Namenode 和一定数目的Datanodes 组成。Namenode 是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端

41、对文件的访问。集群中的Datanode 一般是一个节点一个,负责管理它所在节点上的存储。HDFS 暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode 上。Namenode 执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode 节点的映射。Datanode 负责处理文件系统客户端的读写请求。在Namenode 的统一调度下进行数据块的创建、删除和复制。Namenode 和Datanode 被设计成可以在普通的商用机器上运行。这些机器一般运行着GNU/Linu

42、x 操作系统(OS)。HDFS 采用Java 语言开发,因此任何支持Java的机器都可以部署Namenode 或Datanode。由于采用了可移植性极强的Java 语言,使得HDFS 可以部署到多种类型的机器上。一个典型的部署场景是一台机器上只运行一个Namenode 实例,而集群中的其它机器分别运行一个Datanode 实例。这种架构并不排斥在一台机器上运行多个Datanode,只不过这样的情况比较少见。集群中单一Namenode 的结构大大简化了系统的架构。Namenode 是所有HDFS 元数据的仲裁者和管理者,这样,用户数据永远不会流过Namenode4。223 文件系统的名字空间HD

43、FS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。当前,HDFS 不支持用户磁盘配额和访问权限控制,也不支持硬链接和软链接。但是HDFS 架构并不妨碍实现这些特性。Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被Namenode 记录下来。应用程序可以设置HDFS 保存的文件的副本数目。文件副本的数目称为文件的副本系数,这个信息也是由Namenode 保存的。224 通讯协议所有的HDFS 通讯协议都是建立在TCP/IP

44、协议之上。客户端通过一个可配置的TCP 端口连接到Namenode,通过ClientProtocol 协议与Namenode 交互。而Datanode 使用DatanodeProtocol 协议与Namenode 交互。一个远程过程调用(RPC)模型被抽象出来封装ClientProtocol 和Datanodeprotocol 协议。在设计上,Namenode不会主动发起RPC,而是响应来自客户端或 Datanode 的RPC 请求。225 健壮性HDFS 的主要目标就是即使在出错的情况下也要保证数据存储的可靠性。常见的三种出错情况是:Namenode 出错, Datanode 出错和网络割裂

45、(network partitions)。磁盘数据错误,心跳检测和重新复制每个Datanode 节点周期性地向Namenode 发送心跳信号。网络割裂可能导致一部分Datanode 跟Namenode 失去联系。Namenode 通过心跳信号的缺失来检测这一情况,并将这些近期不再发送心跳信号Datanode 标记为宕机,不会再将新的IO 请求发给它们。任何存储在宕机Datanode 上的数据将不再有效。Datanode 的宕机可能会引起一些数据块的副本系数低于指定值,Namenode 不断地检测这些需要复制的数据块,一旦发现就启动复制操作。在下列情况下,可能需要重新复制:某个Datanode 节点失效,某个副本遭到损坏,Datanode 上的硬盘错误,或者文件的副本系数增大。集群均衡HDFS

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号