浅谈HDFS的读流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈HDFS的读流程相关的知识,希望对你有一定的参考价值。

1、使用HDFS提供的客户端Client,向远程的Namenode发起RPC请求;

2、Namenode会视情况返回文件的部分或者全部block列表,对于每个block,Namenode都会返回有该block拷贝的DataNode地址;

3、客户端Client会选取离客户端最近的DataNode来读取block;如果客户端本身就是DataNode,那么将从本地直接获取数据;

4、读取完当前block的数据后,关闭当前的DataNode链接,并为读取下一个block寻找最佳的DataNode;

5、当读完列表block后,且文件读取还没有结束,客户端会继续向Namenode获取下一批的block列表;

6、读取完一个block都会进行checksum验证,如果读取datanode时出现错误,客户端会通知Namenode,然后再从下一个拥有该block拷贝的datanode继续读。

技术分享图片

客户端及读取HDFS中的数据的流程图


技术分享图片


以上是关于浅谈HDFS的读流程的主要内容,如果未能解决你的问题,请参考以下文章

浅谈HDFS写数据流程的核心架构设计(上)

浅谈HDFS的写流程

大数据面试之对线面试官MapReduce/HDFS/YARN面试题70连击

Hadoop面试题2020

HBase 架构

HDFS写数据流程