Hadoop HDFS源码学习笔记(七)--DFSInputStream -- openInfo

原创 2012年03月26日 15:06:03

现详细了解openInfo函数的内部实现,以及修改了什么

首先给出openInfo的调用序列图:


在openInfo函数中,首先会调用DFSClient的callGetBlockLocations,这个函数主要是通过跟namenode的交互,来完成从namenode取得用户请求的file的元数据信息,返回的内容为locatedBlocks

接下来会让DFSInputStream更新当前的locatedBlocks的信息,并且更新lastBlockBeingWrittenLength这个变量记录了当前读取file如果是underconstruction状态的话最后一个block正在写的字节长度

接下来会判断最后一个block是否处于complete状态,如果不是,则会根据元数据提供的block的pipeline来到datanode上获得block的写入长度,并赋值给lastBlockBeingWrittenLength

最后要对当前的currentNode赋值为null,因为currentNode记录的是当前操作的block的当前连接的datanode的info

下面看一下相关的类图:



hadoop hdfs dfs 命令讲解

hdfs dfs命令 appendToFile Usage: hdfs dfs -appendToFile  ...  追加一个或者多个文件到hdfs制定文件中.也可以从命令行读取输入. · ...
  • u010220089
  • u010220089
  • 2015年05月23日 21:20
  • 20910

Hadoop HDFS源码学习笔记(七)--DFSInputStream -- openInfo

现详细了解openInfo函数的内部实现,以及修改了什么 首先给出openInfo的调用序列图: 在openInfo函数中,首先会调用DFSClient的callGetBlockLocat...
  • xiongwei1209
  • xiongwei1209
  • 2012年03月26日 15:06
  • 1123

HDFS dfsclient读文件过程 源码分析

HDFS读取文件的重要概念 HDFS一个文件由多个block构成。HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的。每一个packet由若干个chu...
  • idonot
  • idonot
  • 2013年09月16日 10:25
  • 769

Hadoop-2.4.1源码分析--HDFS读取文件

在上一篇文章《Hadoop源码分析--FileSystem的创建过程》中(阅读地址-----------------------------------------------------http:/...
  • u010010428
  • u010010428
  • 2016年05月12日 18:19
  • 1759

Hadoop-hdfs和mapreduce学习笔记二

Hadoop-hdfs和mapreduce 一、初始hdfs 1、HDFS管理界面。 http://192.168.0.205:50070/   上传文件 hadoop...
  • yujin2010good
  • yujin2010good
  • 2016年01月29日 23:48
  • 497

HDFS客户端 输入流源码解析

DFSClient构造函数中初始化成员后,
  • yueqian_zhu
  • yueqian_zhu
  • 2014年07月24日 19:19
  • 523

HDFS实战之下载文件

HDFS实战之下载文件 源码如下 package shen.liu.hdfs.practice; import java.io.BufferedOutputStream; import ja...
  • liu16659
  • liu16659
  • 2018年01月30日 12:50
  • 44

Hhadoop-2.7.0中HDFS写文件源码分析(二):客户端实现(1)

一、综述      HDFS写文件是整个Hadoop中最为复杂的流程之一,它涉及到HDFS中NameNode、DataNode、DFSClient等众多角色的分工与合作。      首先上一段代码,客...
  • lipeng_bigdata
  • lipeng_bigdata
  • 2016年12月19日 16:12
  • 1504

《Hadoop 2.X HDFS源码剖析》读书笔记(Client)

1. DSFClient实现对于管理文件/目录以及管理与配置HDFS系统这两个功能,DFSClient并不需要与Datanode交互,而是直接通过远程接口ClientProtocol调用Namenod...
  • u013980127
  • u013980127
  • 2016年11月05日 23:36
  • 2615

HDFS实战之打开文件

HDFS实战之打开文件 源码如下 package shen.liu.hdfs.practice; import java.io.IOException; import java.io.I...
  • liu16659
  • liu16659
  • 2018年01月30日 12:49
  • 55
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hadoop HDFS源码学习笔记(七)--DFSInputStream -- openInfo
举报原因:
原因补充:

(最多只允许输入30个字)