- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5-Hadoop云盘应用实践解析
Hadoop云盘实践
实验目的
1、熟悉HDFS(Hadoop Distributed File System)的基本原理
2、掌握HDFS的特点、基本操作、常用API及读写数据流等。
实验原理
HDFS的主要设计理念
1.1、存储超大文件
? 这里的“超大文件”是指几百MB、GB甚至TB级别的文件。
1.2、最高效的访问模式是 一次写入、多次读取(流式数据访问)
? HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。
1.3、运行在普通廉价的服务器上
HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。
2、HDFS的忌讳
2.1、将HDFS用于对数据访问要求低延迟的场景
? 由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价。
2.2、存储大量小文件
? HDFS中元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了。
3、HDFS基本概念
数据块(block):大文件会被分割成多个block进行存储,block大小默认为64MB。每一个block会在多个datanode上存储多份副本,默认是3份。
namenode:namenode负责管理文件目录、文件和block的对应关系以及block和datanode的对应关系。
datanode:datanode就负责存储了,当然大部分容错机制都是在datanode上实现的。
4、HDFS基本架构图?
图中有几个概念需要介绍一下
Rack 是指机柜的意思,一个block的三个副本通常会保存到两个或者两个以上的机柜中(当然是机柜中的服务器),这样做的目的是做防灾容错,因为发生一个机柜掉电或者一个机柜的交换机挂了的概率还是蛮高的。
5、HDFS写文件流程?
6、HDFS读文件流程?
实验内容
开发环境的搭建
云盘实例开发
实验步骤
本实验以unbutu14.04,hadoop2.20集群为前提进行实验。
Hadoop集群ip及角色分配如下
17 master (namenode)
00 slaver1 (datanode)
01 slaver2 (datanode)
第一部分:云盘实践项目实验UI设计要求
云盘实践项目主要是为了让大家掌握HDFS文件操作基本知识和API的使用,故对UI效果要求不高,重在实现功能。源码最终实现效果如下图:
第二部分:HDFS开发环境的搭建
在云盘实际开发项目中,本人是在win7系统下,使用eclipse进行HDFS开发。所以这里搭建的环境仍然以实际项目中win7-64位操作系统、eclipse为开发环境进行试验。
对于eclipse的具体安装就不在介绍,eclipse版本比较多对于HDFS的开发一般都是支持的,我曾经一直开发Android应用和底层项目,所以这里用的eclipse是google发型的adt-bundle-windows-x86_64-201403,其实作为开发工具这些都是无关紧要的。下面主要讲解eclipse使用插件hadoop-eclipse-plugin-2.2.0.jar开发HDFS环境配置。
1、下载eclipse开发hadoop2.20MapReduce插件hadoop-eclipse-plugin-2.2.0.jar
提供一个网址免费下载链接:/detail/jintiaozhuang/7684553
将下载好的插件放入eclipse安装目录下的dropins文件夹中。
放置好之后,重启eclipse,按照1、2、3进行操作,如下图
紧接着如下图进行如下操作:
以上步骤完成后,会在eclipse左边出现DFSXX目录可以进行如下操作:
此时将可以看到HDFS文件存储结构,并可以尝试进行上传,下载创建等操作,如能正常操作则至此Hadoop HDFS开发平台搭建完毕。
下面创建做一个demo工程看看是否能正常创建MapReduce工程。
至此我们可以看到工程创建完成,效果图如下:
第三部分:HDFS云盘实例开发
基本设计思路
作为云盘,我们主要是运用hadoop分布式存储系统特性,实现数据的上传、下载、删除主要功能,当然还有其他的服务包括私有云分享,公有云共享等功能。
在这里我们主要讲解云盘实践中文件的操作,即是HDFS基本操作、常用API及读写数据流。
从功能上来说,本实验主要包括登录、注册、上传、下载、删除、重命名,6个模块。
从涉及
文档评论(0)