HDFS的读机制:

1、初始化FileSystem ,客户端调用FileSystem 中的open方法打开文件。

2、FileSystem 调用远程RPC服务,获取namenode上的文件的数据块信息,每个数据块namenode返回数据块的节点地址。

3、FileSystem返回FSDataIputStream 给client客户端,客户端调用FSDataIputStream 中的read方法开始读取数据。

4、FSDataIputStream 连接保存此文件的第一个数据块的DataNode,读取数据。

5、数据读取完毕,关闭流连接,连接文件的下一个数据块的DataNode。

6、client客户端将文件读取完毕后,调用FSDataInputStream的close方法关闭文件输入流连接。

注意:若在读数据的过程中,客户端和DataNode的通信出现错误,则会尝试连接下一个 包含次文件块的DataNode。

同时记录失败的DataNode,此后不再被连接。

最新文章

  1. KVC 和 KVO
  2. file_put_contents保存数据,
  3. mysql修改引擎
  4. HDU 4509 湫湫系列故事——减肥记II(暴力模拟即可)
  5. JavaScript的递归之更多例子
  6. 微通道对接ERP、CRM、OA、HR、SCM、PLM和其他管理系统解决方案
  7. 区间DP 入门
  8. 深入解读Python的unittest并拓展HTMLTestRunner
  9. KendoUI 基础:Grid 绑定template展示
  10. Rancher2.1安装部署
  11. HDU-problem-1002-人类史上最大最好的希望事件-矩阵快速幂
  12. 修改权限linux
  13. python中shelve模块的使用
  14. 【问题与解决】Mac OS通过 npm 安装 React Native 报错(checkPermissions Missing write access to /usr/local/lib/node_modules)
  15. A1067. Sort with Swap(0,*)
  16. Nuget CsvHelper 的使用
  17. python生成式和生成器
  18. 手动释放linux内存cache
  19. boost pool 和 object_pool
  20. Python中级 —— 02函数式编程

热门文章

  1. Word 自带公式使用方法技巧(11)
  2. 导出Excel的2个方法
  3. 可分离滤波器设计高斯滤波 CUDA程序优化, 实验记录
  4. dom 页面位置和大小,元素的位置和大小,鼠标位置
  5. js数据类型及判断数据类型
  6. element-ui 默认排序
  7. FreeRTOS任务运行时间信息统计
  8. linux设备模型与内核中的面向对象思想
  9. xadmin安装
  10. 查看域名https证书到期时间