文件上传原理

在这里插入图片描述

  1. 客户端上传数据,先请求namenode,请求上传a.txt 300M 3个默认128M一个切块

  2. Namenode接收客户端的请求 ,开始校验集群中的存储状态

  3. 检验完成集群状态ok,开始进行元数据的规划(计算

  4. 返回给客户端一个检验ok+meta(元数据)

  5. 在数据块上传之前,先ping一下建立对应的连接通道

  6. Ping通了之后,响应给客户ok信息,通过本地的Io流读取文件,读的时候就变成了字节,通过网络分布输出流开始把把字节封装成一个datapackage,传送出去

  7. 开始上传数据,然后通过本地的网络输入流写入到本地中,然后本地分布式输出流写道本地磁盘中,同时往另一台机器上,写入副本,同时在往另一台机器上发送,一共存储三份,当传入第一台机器的时候宕机了,任务失败了,然后namenode从新分发一下,当第二台或者第三台机器坏了,第一台机器上传成功了,说明也上传成功

  8. 第一台设备上传成功了然后相应给客户端ok

  9. 第二块数据和第三块数据上传数据 同理执行上面步骤

三块数据上传数据 同理执行上面步骤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值