hdfs读流程图_HDFS客户端读写流程图

一、HDFS客户端写流程

1.客户端请求上传数据到服务器

2.服务器接收到这个请求,然后到自己的元数据里面去查询,元数据中是否记录了该文件的存在

3.NN响应客户端是否可以上传

4.服务器会发送再次请求,需要上传多大的数据文件

5.服务器会根据上传文件大小进行调度,返回要上传的DataNode节点

6.客户端接收队列数据:

通过pop方法,取出第一个节点的地址,然后访问该节点,并吧剩下的其他节点的IP地址带过去;

第一个DN接收数据,再从队列中取出第一个,继续把剩下的IP带过去,直到最后一个节点结束;

最后一个节点收到信息之后,想源地址发送确认消息,确认到第一个DN的时候,DN会把确认消息返回给客户端;

7.datanode反顺序依次应答,直到应答给客户端

8.客户端向datanode上传文件块

9.上传文件块后,各datanode会通过心跳将位置信息汇报给namenode

注:如果上传文件块时,某个datanode节点挂掉了,该节点的上节点直接连接该节点的下游节点继续传输,最终在第7步汇报后,namenode会发现副本数不足,触发datanode复制更多副本

10.客户端重复上传操作,逐一将文件块上传,同时dataNode汇报块的位置信息,时间线重叠

11.所有块上传完毕后,namenode将所有信息存在元数据中,客户端关闭输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值