Chapter3-第三章-分布式文件系统HDFS(2016年3月2日版本)概要1.ppt

Chapter3-第三章-分布式文件系统HDFS(2016年3月2日版本)概要1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter3-第三章-分布式文件系统HDFS(2016年3月2日版本)概要1

3.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() 查找下一个数据块 3.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()方法 通知名称节点关闭文件 3.7 HDFS编程实践 学习HDFS编程实践,具体请参见“大数据课程学生服务站”的技术文章: 《大数据技术原理与应用 第三章 Hadoop分布式文件系统 学习指南》 访问地址: /blog/290-2/ 3.7 HDFS编程实践 Hadoop提供了关于HDFS在Linux操作系统上进行文件操作的常用Shell命令以及Java API。同时还可以利用Web界面查看和管理Hadoop文件系统 备注:Hadoop安装成功后,已经包含HDFS和MapReduce,不需要额外安装。而HBase等其他组件,则需要另外下载安装。 在学习HDFS编程实践前,我们需要启动Hadoop。执行如下命令: 3.7.1 HDFS常用命令 HDFS有很多shell命令,其中,fs命令可以说是HDFS最常用的命令 利用该命令可以查看HDFS文件系统的目录结构、上传和下载数据、 创建文件等。该命令的用法为: hadoop fs [genericOptions] [commandOptions] 备注:Hadoop中有三种Shell命令方式: hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统 hadoop dfs只能适用于HDFS文件系统 hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统 3.7.1 HDFS常用命令 实例: hadoop fs -ls path:显示path指定的文件的详细信息 hadoop fs -mkdir path:创建path指定的文件夹 3.7.1 HDFS常用命令 实例: hadoop fs -cat path:将path指定的文件的内容输出到标准输出(stdout) hadoop fs -copyFromLocal localsrc dst:将本地源文件localsrc复制到路径dst指定的文件或文件夹中 3.7.2 HDFS的Web界面 在配置好Hadoop集群之后,可以通过浏览器登录“http://[NameNodeIP]:50070”访问HDFS文件系统 通过Web界面的“Browse the filesystem” 查看文件“hdfs://loc

文档评论(0)

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

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

1亿VIP精品文档

相关文档