5hadoop云盘应用实践.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hadoop 云盘实践 一、实验目的 1、熟悉 HDFS(Hadoop Distributed File System)的基本原理 2、掌握 HDFS 的特点、基本操作、常用 API 及读写数据流等。 二、实验原理 1、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 读文件流程 三、实验内容 1、开发环境的搭建 2、云盘实例开发 四、实验步骤 本实验以 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 分布式存储系统特性,实现数据的上传、下载、删 除主要功能,当然还有其他的服务包括私有云分享,公有云共享等功

文档评论(0)

137****0427 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档