大数据笔记 2--hdfs读数据流程

版权声明:转载附链接并联系 https://blog.csdn.net/BigCabbageFy/article/details/82872820

在这里插入图片描述

注:以下简化名称所对应的全称:
NN == NameNode;
IO == hdfsFileinputStream;
DN == DataNode;
DN1 == DataNode1;
DN2 == DataNode2;
DN3 == DataNode3;

详细流程
1、客户端向NN发送一个带有相关文件的路径请求,例如hdfs://input/xx.txt这样的一个读文件请求;

2、NN会在元数据中查找集群中是否有相关文件的记录,如果有NN会将这些数据所在的(正常工作)节点返回给客户端,也就是所谓的元数据。(假设该文件的三个block分别存放在三个节点上(block1:DN1;block2:DN2;block3:DN3 ))

3、客户端请求DN1传输第一个block块数据;

4、DN1应答请求开始传输第一个block块数据;

5、客户端请求DN2传输第二个block块数据;

6、DN2应答请求开始传输第二个block块数据;

7、客户端请求DN3传输第三个block块数据;

8、DN3应答请求开始传输第三个block块数据;

9、传输过来的block块会在客户端内存中顺序合并成文件,如果内存无法放下所有block块,客户端会合并一部分写入磁盘后再进行下一部分的合并,直到合并完成后hdfs的读数据流程结束。

猜你喜欢

转载自blog.csdn.net/BigCabbageFy/article/details/82872820