Hadoop HDFS源码学习笔记(七)--DFSInputStream -- openInfo
来源:互联网 发布:linux怎么全局翻墙 编辑:程序博客网 时间:2024/06/06 15:45
现详细了解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源码学习笔记(七)--DFSInputStream -- openInfo
- Hadoop HDFS源码学习笔记(一)
- Hadoop HDFS源码学习笔记(二)
- Hadoop HDFS源码学习笔记(三)
- Hadoop HDFS源码学习笔记(四)
- Hadoop HDFS源码学习笔记(五)
- Hadoop HDFS源码学习笔记(六)--fetchBlockByteRange
- Hadoop HDFS源码学习笔记(八)---HdfsProxy
- Hadoop源码分析笔记(七):HDFS非远程调用接口
- hadoop学习笔记(HDFS)
- Hadoop 七:Hadoop-Hdfs源码 conf包
- hadoop源码研读之路(七)----HDFS的数据管理
- hadoop源码研读之路(七)----HDFS的数据管理
- 【Hadoop源码学习】之hdfs(一)
- hadoop-hdfs学习笔记
- Hadoop学习笔记(七)
- Hadoop分布式文件系统(HDFS)学习笔记
- Hadoop学习笔记(四)---HDFS概述
- form提交中文编码
- Prim_poj 1287 Networking
- POJ-3204 最大流+枚举
- java连接常见数据库的连接字符串
- VC6.0 最新的 SDK platform sdk xp-sp2 官方下载地址
- Hadoop HDFS源码学习笔记(七)--DFSInputStream -- openInfo
- C++中两个类相互包含引用问题
- 修改Irrlicht的FPSCamera默认光标操作
- 修改注册表把WIN7系统的用户目录设置到D盘(其他分区)
- 从测试的角度来重新反思我们自己的程序以及我们的程序员之路——“通过追本溯源来进行前瞻性思考”
- Microsoft Platform SDK Febrary 2003下载(更新VC6的SDK)
- Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open处理
- LINUX平台设备(linux platform_device and platform_driver)
- C语言中可变参数的用法