HDFS 数据流程
1、网络拓扑-节点距离计算
节点距离:两个节点到达最近的共同祖先的距离总和(一条线的长度为1)
2、机架感知-副本储存节点选择
当副本为三个时:
本地机架上的一个节点
本地机架上的另一个节点
不同机架的不同节点
3、读写数据流
1)、读
(fs)向NameNode请求读取文件 -> NameNode返回目标的元数据 ->
请求读取blk_1 -> 传输blk_1 -> 请求读取blk_2 -> 传输blk_2
2)、写
(fs)向NameNode请求写入文件 -> NameNode响应可以上传文件 ->
返回dn1, dn2, dn3三个节点用于储存副本 ->向dn1, dn2, dn3 请求建立Block传输通道 ->
dn3,dn2,dn1应答成功 -> 传输数据Packet -> 传输数据完成