第10章分布式文件系统HDFS探究.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.6.1 读数据的过程 FSDataInputStream封装了DFSInputStream FileSystem fs = FileSystem.get(conf); FSDataInputStream in = fs.open(new Path(uri)); Configuration conf = new Configuration(); import org.apache.hadoop.fs.FileSystem 通过ClientProtocal.getBlockLocations() 远程调用名称节点,获得文件开始部分数据块的位置 对于该数据块,名称节点返回保存该数据块 的所有数据节点的地址 并根据距离客户端远近进行排序 客户端获得输入流FSDataInputStream以后 调用read()函数开始读取数据 输入流根据前面的排序结果 选择距离客户端最近的数据节点 建立连接并读取数据 数据从数据节点读到客户端,当该数据块读取完毕时 FSDataInputStream关闭和该数据节点的连接 通过ClientProtocal.getBlockLocations() 查找下一个数据块 10.6.2 写数据的过程 FileSystem fs = FileSystem.get(conf); FSDataOutputStream out = fs.create(new Path(uri)); Configuration conf = new Configuration(); import org.apache.hadoop.fs.FileSystem RPC远程调用名称节点 在文件系统的命名空间中新建一个文件 名称节点会执行一些检查(文件是否存在,客户端权限) FSDataOutputStream封装了DFSOutputStream 数据被分成一个个分包 分包被放入DFSOutputStream对象的内部队列 DFSOutputStream向名称节点申请 保存数据块的若干数据节点 这些数据节点形成一个数据流管道 队列中的分包最后被打包成数据包 发往数据流管道中的第一个数据节点 第一个数据节点将数据包发送到第二个节点 依此类推,形成“流水线复制” 为了保证节点数据准确,接收到数据的数据节点要向发送者发送“确认包” 确认包沿着数据流管道逆流而上,经过各个节点最终到达客户端 客户端收到应答时,它将对应的分包从内部队列移除 DFSOutputStream调用 ClientPplete()方法 通知名称节点关闭文件 10.7 HDFS编程实践 学习HDFS编程实践,具体请参见“大数据课程学生服务站”的技术文章。访问地址: /blog/290-2/ 本章小结 分布式文件系统是大数据时代解决大规模数据存储问题的有效解决方案,HDFS开源实现了GFS,可以利用由廉价硬件构成的计算机集群实现海量数据的分布式存储 HDFS具有兼容廉价的硬件设备、流数据读写、大数据集、简单的文件模型、强大的跨平台兼容性等特点。但是,也要注意到,HDFS也有自身的局限性,比如不适合低延迟数据访问、无法高效存储大量小文件和不支持多用户写入及任意修改文件等 块是HDFS核心的概念,一个大的文件会被拆分成很多个块。HDFS采用抽象的块概念,具有支持大规模文件存储、简化系统设计、适合数据备份等优点 HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点和若干个数据节点。名称节点负责管理分布式文件系统的命名空间;数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取 HDFS采用了冗余数据存储,增强了数据可靠性,加快了数据传输速度。HDFS还采用了相应的数据存放、数据读取和数据复制策略,来提升系统整体读写响应性能。HDFS把硬件出错看作一种常态,设计了错误恢复机制 本章最后介绍了HDFS的数据读写过程以及HDFS编程实践方面的相关知识 第10章 分布式文件系统HDFS 云计算与大规模数据处理 提纲 10.1 分布式文件系统 10.2 HDFS简介 10.3 HDFS相关概念 10.4 HDFS体系结构 10.5 HDFS存储原理 10.6 HDFS数据读写过程 10.7 HDFS编程实践 10.1 分布式文件系统 10.1.1 计算机集群结构 10.1.2 分布式文件系统的结构 10.1.1 计算机集群结构 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。 与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就大大降低了硬件上的开销。 图10-1 计算机集群的基本架构 10.1.2 分布式文件系统的结构 分布式文件

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档