基于hadoop的分布式存储平台的搭建与验证.docx
- 文档编号:30133628
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:103
- 大小:733.29KB
基于hadoop的分布式存储平台的搭建与验证.docx
《基于hadoop的分布式存储平台的搭建与验证.docx》由会员分享,可在线阅读,更多相关《基于hadoop的分布式存储平台的搭建与验证.docx(103页珍藏版)》请在冰豆网上搜索。
基于hadoop的分布式存储平台的搭建与验证
毕业设计(论文)
中文题目:
基于hadoop的分布式存储平台的搭建与验证
英文题目:
Setupingandverificationdistributedstorageplatformbasedonhadoop
学院:
计算机与信息技术
专业:
信息安全
学生姓名:
学号:
指导教师:
2018年06月01日
任务书
题目:
基于hadoop的分布式文件系统的实现与验证
适合专业:
信息安全
指导教师(签名):
毕业设计(论文)基本内容和要求:
本项目的目的是要在单独的一台计算机上实现Hadoop多节点分布式计算系统。
基本原理及基本要求如下:
1.实现一个NameNode
NameNode是一个通常在HDFS实例中的单独机器上运行的软件。
它负责管理文件系统名称空间和控制外部客户机的访问。
NameNode决定是否将文件映射到DataNode上的复制块上。
实际的I/O 事务并没有经过NameNode,只有表示DataNode和块的文件映射的元数据经过NameNode。
当外部客户机发送请求要求创建文件时,NameNode会以块标识和该块的第一个副本的DataNodeIP地址作为响应。
这个NameNode还会通知其他将要接收该块的副本的DataNode。
2。
实现若干个DataNode
DataNode也是一个通常在HDFS实例中的单独机器上运行的软件。
Hadoop集群包含一个NameNode和大量DataNode。
DataNode通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。
Hadoop的一个假设是:
机架内部节点之间的传输速度快于机架间节点的传输速度。
DataNode响应来自HDFS客户机的读写请求。
它们还响应来自NameNode的创建、删除和复制块的命令。
NameNode依赖来自每个DataNode的定期心跳(heartbeat)消息。
每条消息都包含一个块报告,NameNode可以根据这个报告验证块映射和其他文件系统元数据。
如果DataNode不能发送心跳消息,NameNode将采取修复措施,重新复制在该节点上丢失的块。
具体设计模块如下:
1、在虚拟机上安装多个linux系统。
并将其中之一拟作为namenode,其余系统拟作为datanode
2、在上述所有系统中安装ssh,以确保不同节点之间可以实现无密钥安全通信。
3、在上述系统中安装hadoop,以确保各个系统都可作为hadoop系统的其中一个节点。
毕业设计(论文)重点研究的问题:
1.基于windows环境,完成虚拟机上一个linux系统下hadoop的实现。
2.基于系统克隆技术实现hadoop节点的复制。
3.在上述基础上实现节点间无密钥安全通信。
4.基于上述系统上运行wordcount以验证基于hadoop的分布式文件系统的有效性。
5.分析handoop现有的安全机制可能存在的安全隐患并提出相应的解决措施。
毕业设计(论文)应完成的工作:
1。
了解整个系统的结构,针对系统所要完成的各项工作进行该方面的学习,掌握基于hadoop的分布式文件系统设计和实现方法。
2。
完成系统中必备的各个配置步骤。
3。
在系统上运行wordcount并进行系统性能分析。
4。
完成该项目所涉及代码及配置步骤的记录。
5。
对handoop现有的安全机制存在的安全隐患提出相应的解决措施。
6。
毕业论文。
参考资料推荐:
1TomWhite著,曾大聃,周傲英译,《Hadoop权威指南》[专著],北京:
清华大学出版社,2010
⑵陈勇[著],《基于hadoop平台的通信数据分布式查询算法的设计与实现》[硕士学位论文],北京:
北京交通大学计算机学院,2009
⑶周品主编,《hadoop云计算实战》[专著]。
北京:
清华大学出版社,2012
⑷赵书兰编著,《典型hadoop云计算》[专著]。
北京:
电子工业出版社,2013
其他要说明的问题:
题目:
基于hadoop的分布式文件系统的实现与验证
学院:
计算机专业:
信息安全学生姓名:
学号:
文献综述:
Hadoop分布式文件系统是遵循Google文件系统原理进行开发和实现的,受到IT业界极大关注,并已被广泛应用。
鉴于当前缺乏从系统设计理论的角度对其开展的相关研究,本文从Hadoop分布式文件系统架构的建模人手.通过对模型各组成部分进行分析.并将其与传统的分布式文件系统进行比较。
总结出Hadoop分布式文件系统具有的海量、高可扩展性、高可靠性、高性能等面向云计算领域应用的霞要特征。
本文有助于研究者系统、深入地研究Hadoop分布式文件系统的设计与实现。
并为云计算背景下的分布式文件系统设计提供雨要的参考。
云计算⋯是一种新兴的计算模型,它是并行计算、分布式计算、网格计算的综合发展,或者说是这些计算科学概念的商业实现。
它的基本原理是将计算、存储及软硬件等服务分布在非本地的大量计算机构成的资源池上,用户通过网络获得相应的服务,从而有效的提高资源利用率,实现了真正的按需获取。
目前云计算模型众多,但多为商业模型,而Hadoop作为开源的云计算模型,它模仿和实现了Google云计算的主要技术,并且使用Java语言编写,可移植性强,为个人和企业进行云计算方面的研究和应用奠定了基础。
Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)高可靠性和高可扩展性的分布式文件系统.能够提供海量的文件存储能力。
它的开发和实现遵循了Coogle文件系统(Googlefilesystem,GFS)的核心原理,而GFS作为Google云计算核心技术体系的底层,为相关技术如MapReduee分布式计算模型、Bigtable分布式数据库等)的实现提供了有效的支撑。
同样,Hdfs本身以及以它为基础的一系列开源软件技术的研究和开发,已被业界广泛应用到云计算的具体实践中.获得了非常好的效果。
当前.针对HDFS的研究普遍关注其具体的技术细节和实施效果.尚缺乏对其进行系统设计理论上的分析和比较。
本文从模型分析的角度人入手.首先介绍在业界获得普遍认同的分布式文件系统的用户需求和架构模型.然后针对HDFS的体系架构进行实现,最后将HDFS与传统的分布式文件系统进行比较.总结了HDFS在云计算领域中应用的优势及存在的安全问题。
并对其设计和应用提出建议。
从模型的角度出发.可以分析出HDFS在设计和实现上的主要特征。
1采用专用的服务器提供目录服务。
Namenode对文件元数据进行管理.能够维护统一的文件名字空间供用户访问以及从全局上对系统进行控制.提高了系统的透明性和可扩展性:
同时。
Namenode不承担文件内容的供给,减轻了节点压力。
2采用数目众多的服务器提供扁平文件服务。
多个Datanode可以同时为用户提供文件数据块服务。
它们分布广泛并互为备份.提高了系统在节点级的可靠性。
因此.单个节点可以由普通的PC服务器担当。
有利于降低系统成本。
3采用文件数据分块和数据块复制机制。
文件数据被划为多个数据块,有利于对其内容进行查找和定位,同时数据块的多个拷贝能够提高系统在文件级和数据块级的可靠性;同时,分布在不同Datanode上的数据块可以被并行访问,改善了访问性能。
4采用多种通信机制。
根据通信对象和传输内容的不同,分别提供了远程过程调用和数据流两种通信方式,实现了带外控制,提高了访问性能。
Hadoop的优点在于:
1)可扩展:
不论是存储可扩展还是计算可扩展都是Hadoop的设计根本。
Had00p的扩展非常简单,不需要修改任何已有的结构。
2)经济:
其框架可运行在任何廉价Pc上,对硬件没有特殊的要求。
3)可靠:
分布式文件系统的备份恢复机制及M印Reduce的任务监控保证了分布式处理的可靠性,Hadoop默认提供1个以上备份。
4)高效:
分布式文件系统高效数据交互实现及MapReduce结合kalData处理的模式,为高效处理海量信息打下基础。
但是,通过对比、分析也可以发现,HDFS在一些方面仍然有待完善,可以向传统的分布式文件系统借鉴相关的方法和技术。
同时,HDFS也不是万能的,文件服务的提供者必须根据实际需要选择合适的文件系统。
主要参考文献:
(1)TomWhite著,曾大聃,周傲英译,《Hadoop权威指南》[专著],北京:
清华大学出版社,2010
(2)陈勇[著],《基于hadoop平台的通信数据分布式查询算法的设计与实现》[硕士学位论文],北京:
北京交通大学计算机学院,2009
(3)周品主编,《hadoop云计算实战》[专著]。
北京:
清华大学出版社,2012
(4)赵书兰编著,《典型hadoop云计算》[专著]。
北京:
电子工业出版社,2013
(5)赵春燕.云环境下作业调度算法研究与实现.北京交通大
学,2009
(6)纪俊.一种基于云计算的数据挖掘平台架构设计与实现.
(7)李析,廖志恒.云计算的关键技术及发展现状[J].九江职业
技术学院学报.2011.2
(8)云存储技术研究.XX文库.http:
//www。
wenku。
baidu。
com
(9)张建勋,古志民,郑超.云计算研究进展综述[J].计算机应用研究.2010.27
(2):
429—433.
(10)金松昌.方滨兴.杨树强,贾焰.基于Hadoop的网络安全日志分
析系统的设计与实现[A].全国计算机安全学术交流会论文集[C],
北京,20lO:
257—262.
研究方案
1。
基于windows环境,完成虚拟机上一个linux系统下hadoop的实现。
2。
基于系统克隆技术实现hadoop节点的复制。
3。
在上述基础上实现节点间无密钥安全通信。
4。
基于上述系统上运行wordcount以验证基于hadoop的分布式文件系统的有效性。
5。
分析handoop现有的安全机制可能存在的安全隐患并提出相应的解决措施。
研究步骤
1。
了解整个系统的结构,针对系统所要完成的各项工作进行该方面的学习,掌握基于hadoop的分布式文件系统设计和实现方法。
2。
完成系统中必备的各个配置步骤。
3。
在系统上运行wordcount并进行系统性能分析。
4。
完成该项目所涉及代码及配置步骤的记录。
5。
对handoop现有的安全机制存在的安全隐患提出相应的解决措施。
6。
毕业论文。
预期结果
1。
在linux下搭建好基于hadoop的分布式文件系统
2。
在该文件系统下实现wordcount的运行
3。
对hadoop的安全机制进行分析并提出可行建议
毕业设计(论文)进度安排:
序号
毕业设计(论文)各阶段内容
时间安排
备注
1
调研,收集资料,了解基本概念
3。
10—3。
15
2
熟悉linux系统,熟悉hadoop的架构
3。
16—3。
25
3
在linux下安装hadoop搭建基于hadoop的分布式文件系统
3。
26—4。
09
4
在文件系统下运行wordcount并分析性能
4。
10—4。
17
5
分析hadoop的安全漏洞并提出解决措施
4。
18—5。
20
6
撰写毕业论文
5。
13—6。
10
指导教师意见:
指导教师签名:
审核日期:
年月日
中文摘要
Hadoop分布式文件系统是遵循Google文件系统原理进行开发和实现的,受到IT业界极大关注,并已被广泛应用。
本毕业设计主要任务是要在单独的一台计算机上实现Hadoop多节点分布式存储平台并研究其安全机制。
论文介绍了课题的相关研究背景知识,并且对hadoop的组成及原理进行了详细地介绍和研究。
根据实验的需要,完成了平台的总体设计,并针对其性能进行了验证,还对其安全机制进行了研究。
首先介绍在业界获得普遍认同的分布式文件系统的用户需求和架构模型.然后针对HDFS的体系架构进行实现,最后分析了hadoop的安全机制及相应的安全策略.总结了HDFS在云计算领域中应用的优势及存在的安全问题。
并对其设计和应用提出建议。
本文所采用的实验平台是在virtualbox上安装的ubuntu10。
10,应用的是hadoop跨平台文件系统。
系统所有的编写、调试与测试都在此实验平台下进行。
关键词:
hadoop;文件系统;安全;云计算
Abstract
HadoopDistributedFileSystemisbasedontheprincipleofGooglefilesystemdevelopedandimplementedbythegreatconcernoftheITindustry,andhasbeenwidelyused.
ThethesisaimstosetupHadoopmulti-nodedistributedstorageplatformandanalyzeitssecuritymechanismstobeimplementedonaseparatecomputer.
Thethesisfirstintroducestheresearchbackgroundknowledgeofthesubject,anddetaileddescriptionofthestudyandtheprincipleofthehadoop.Accordingtotherequrementsoftheexperiment,theoveralldesignoftheplatform,anditsperformancewereverified,furthersecuritymechanisms.Firsttheindustrygenerallyaccepteduserrequirementsandthearchitectureofthedistributedfilesystemmodelareintroduced。
ThenforHDFSarchitecturetoachievetheHadoopsecuritymechanismsandthecorrespondingsecuritypolicy.Inaddition,theadvantagesofHDFSinthefieldofcloudcomputingapplicationsandthesecurityproblemaresummarized.Atlastthedesignandapplicationrecommendationsarepresented.
Theexperimentalplatforminstalledvirtualboxubuntu10.10ofapplicationisathehadoopcross-platformfilesystem.Allthewriting,debugging,andtestingarecarriedoutbyusinginthisexperimentplatform.
Keywords:
hadoop;filesystem;safe;cloudcomputing
目录
任务书-3-
中文摘要1
Abstract2
第一章前言2
1.1课题研究背景2
1.2分布式文件系统分类3
1.2.1GFS系统3
1.2.2蓝鲸分布式文件系统5
1.2.3FastDFS5
1.3课题研究目标和本文的主要工作6
1.4论文组织结构6
第二章HADOOP技术架构研究8
2.1HADOOP技术背景8
2.2HDFS(HADOOP分布式文件系统)机制8
2.2.1前提和设计目标8
2.2.2Namenode和Datanode9
2.2.3文件系统的名字空间10
2.2.4通讯协议10
2.2.5健壮性10
2.3HADOOPMapReduce编程模型12
2.3.1操作介绍12
2.4本章小结13
第三章平台的搭建与验证14
3.1安装UbuntuLinux操作系统14
3.2安装jdk14
3.3修改机器名16
3.4安装ssh服务16
3.5安装hadoop17
3.6在单机上运行hadoop18
3.7在三台电脑上部署hadoop集群21
第四章hadoop安全分析23
4.1云安全技术23
4.1.1可信访问控制23
4.1.2密文检索与处理23
4.1.3数据存在与可使用性证明24
4.1.4数据隐私保护24
4.1.5云资源访问控制25
4.1.6可信云计算25
4.2Hadoop企业级应用的弱点分析26
4.2.1Hadoop系统单点设计瓶颈26
4.2.2作业调度方式单一26
4.2.3异构平台兼容性27
第五章hadoop安全协议27
5.1RPC27
5.1.1工作原理28
5.1.2协议结构29
5.1.3HadoopRPC机制及原理30
5.2Kerberos32
5.2.1Kerberos介绍32
5.2.2Kerberos协议结构33
5.2.3Kerberos的基本协定41
5.2.4Kerberos缺陷42
5.3IPC43
5.3.1IPC建立的过程43
第六章结束语44
附录I:
翻译原文44
中文翻译69
参考文献86
第一章前言
1.1课题研究背景
分布式文件系统(DistributedFileSystem)指的是文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
分布式文件系统的设计基于客户机/服务器模式。
一个典型的网络可能包括多个供多用户访问的服务器。
另外,对等特性允许一些系统扮演客户机和服务器的双重角色。
例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就象使用本地驱动器一样,下面是三个基本的分布式文件系统。
1.2分布式文件系统分类
1.2.1GFS系统
在设计目标上与其它的分布式文件系统相似,比如数据可靠性、系统可扩展性、可用性、健壮性、可伸缩性等。
但是它又不同于普通的文件系统,它完全针对Google公司需求而设计的。
GFS是非开源分布式文件系统。
Google的核心数据就是页面索引。
GFS专门对页面索引存储进行优化。
GFS和普通分布式文件系统一样都是采用廉价的计算机搭建文件系统集群。
GFS和大多文件系统一样都是采用单主机节点主从式架构。
它包含两类节点,元数据节点和数据节点。
用户通过客户端来访问整个文件系统。
对于文件存储的处理,分布式文件系统大多将文件分割成数据块然后分配给数据服务器存储。
GFS也采用这种方式,不同的是GFS中数据块以Linux文件形式存储。
并且GFS根据设计目标提供了很多相应的策略来达到性能指标,包括数据块副本备份、文件与数据块的映射、以及被删除文件的垃圾回收和系统中文件的负载均衡。
之后的分布式文件系统也借鉴了GFS的一些设计理念,比如HDFS。
1.2.2蓝鲸分布式文件系统蓝鲸分布式文件系统(BlueWhaleFileSystem,BWFS)是国家高性能计算机工程技术研究中心承担的国家“863”重点支持课题研究成果得到的产物。
企业需要处理大规模数据,并且需要有高性能的数据处理能力,这样的需求就诞生了支持集群的BWFS。
集群的效果是明显的,也是大势所趋。
利用大量计算机组成一个集群体系结构,以此提供高性能计算能力[10]。
传统的分布式文件系统比如NFS、CIFS等采用的是集中式存储结构,这种方式使得集群的低数据I/O能力与系统的高计算能力不匹配。
数据传输在传统分布式文件系统中存在瓶颈。
中科蓝鲸的研究人员通过自己的技术克服了这一瓶颈,采用集群技术,使用多个存储设备组成集群,提高了数据传输效率。
虽然BWFS借鉴了国外一些技术,但主要有自己的创新。
蓝鲸文件系统采用了新型结构,网络可扩展体系结构。
并且采用虚拟存储技术将多个存储设备上的资源合并成统一的存储空间,进行高效数据管理。
BWFS目前可以运行在RedHatLinux7.2/8.0/9.0/AS3、其它厂商的Linux、微软Windows2000等操作系统中,向上千个客户端提供并发文件访问服务,提供PB级的数据存储容量,GB级的传输带宽。
BWFS目前在石油勘探处理、信息检索与处理、数字媒体、遥感、高能物理研究等领域有广泛的应用,为我国工业、国防、科技发展做了很大贡献。
并且BWFS的后续系统也一直在研究中,相信我国自主开发的分布式系统能够为国家做更大贡献。
1.2.3FastDFS
FastDFS是一个类似GFS的开源分布式文件系统。
它是由国人参与开发的,这个是除蓝鲸文件系统外国内比较有名的文件系统。
FastDFS主要针对互联网应用,继承了GFS的一些设计理念,包括数据备份,节点负载均衡。
同时FastDFS也有自己独特之处。
FastDFS相较于其它类GFS分布式文件系统,更加轻量级。
它包含两个角色,TrackerServer和StorageServer。
FastDFS同样采用TrackerServer作为中心节点[13]。
中心节点的作用在于服务调度和负载均衡。
而StorageServer和其它文件系统中的数据节点一样具有数据存储功能。
一般分布式文件系统的中心节点需要记录很多信息,占用很多内存。
这种系统的中心节点会成为系统的瓶颈,而国人在设计FastDFS的时候,注重它的轻量级特点,内存占用少。
另外FastDFS在数据存储上的设计也比较有特点。
它采用一种分组存储的方式。
多台机器可以组成一个组,而一个活多个组组成一个集群。
用户可以指定数据上传到哪个组,这样用户其实可以动态缓解一些访问压力大的分组。
另外这种分组策略能够方便的扩充存储能力,包括组内添加机器的总想扩容和添加新组的横向扩容。
FastDFS的结构也不太同于普通文件系统,它可以拥有多个中心节点,它们之间是对等关系。
FastDFS不只在分布式文件系统的发展上作出贡献,同样在开源方面也有很大贡献。
另外近几年国内外对Hadoop的热捧,使得对HDFS的关注更加多了。
HDFS作为Hadoop数据存储的核心。
Hadoop项目由Yahoo发起并推动,最后成为Apache下的子项目。
在Yahoo,有最大的Hadoop集群,集群中有4000多个节点,70PB的数据量,并且每天10TB的数据量增长。
Facebook作为国外知名社交网络运行着世界第二大Hadoop集群系统。
而国内很多公司也逐渐研究和使用Hadoop。
例如XX、阿里、腾讯、华为等。
特别是华为在Hadoop上的贡献比较多。
这些公司都将Hadoop作为公司未来数据存储处理的一个解决方案,不遗余力地宣传推广Hadoop[1]。
总的来说,分布式文件系统的发展在国内外都是很迅速,并且也是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 hadoop 分布式 存储 平台 搭建 验证