HDFS----【文件的上传即下载流程详解】

HDFS上传文件流程

文件上传流程图如下 :

在这里插入图片描述
首先 , HDFS选用的是每启动一个线程 , 就传递一个块 , 然后接收到第一个块后的机器复制给其他机器 .

首先我们知道namenode的职责 :

  1. 管理整个文件系统的元数据 ( 目录树 文件和块对应信息 , dn信息)
  2. 响应整个客户端的所有请求 hdfs://node-1:9000

上传文件的流程

  1. 首先hdfs客户端通过RPC调用向nn发送请求上传文件1.txt
  2. 元数据根据请求信息查询元数据 , 判断是否可以上传
  3. 返回可以请求上传 , 响应给客户端
  4. 将数据的块(blk-1)[采用3副本]上传到元数据中
  5. 根据请求 , 并且结合dn信息返回3台可以用的dn的ip(dn1,dn2,dn3)
  6. nn返回上传副本的信息给客户端
  7. 客户端和dn1建立传输数据的管道(pipeline) , 与此同时 , dn1与dn2之间也建立传输数据的管道 , 直到最后一个为止
  8. 依次返回pipeline建立完毕信息 , 直到响应给客户端
  9. 传输数据包(packet) , 默认大小为64K , dn*把接收到的packet保存到指定的目录中 , 并且把packet继续往后发 , 直到最后一个
  10. 发送完毕后反方向追个返回ack应答 , 保证packet的安全稳定 , 直到返回给客户端
  11. 待第一块上传完毕 , 客户端按照上述流程走一遍 , 上传第二
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值