HDFS读写流程

HDFS读写流程

1.客户端申请上创建文件
2.响应是否可以上传
3.请求上传第一个block
4.返回DN1,2,3,表示采用这三个节点存储数据
dn1第一个就是最近的,后面两个是根据他选出来的
5.向DN请求建立通道,dn1,dn2,dn3,串联请求
6.向客户端返回可以传
7.客户端传给dn1,dn1一边落盘,一边给dn2传输,边存的时候就边发的,有一个待写的队列,不是一个个发的
8.第二个块和第一个一样
9.数据传输完毕

中间有几个问题呢?

  1. 两次dn的选择是完全独立的选择,同一个文件,两块根本都不在一个dn上。
    hdfs存储数据的最小的单位是块,同一块在一起,但同一个文件,不一定在一起

  2. 在建立通道的过程失败了,上传就失败了

  3. 在传输数据的过程中失败了,上传是仍然可以正常进行的,而且会给你返回成功的信号,会触发自动备份。来备份数据。这就是hdfs的上传的流程

hdfs的下载文件的流程

  1. 申请下载文件,nd响应文件是否存在
  2. 如果存在,那么hfds会创建一个输入流
  3. nd会返回一个list,里面有三个节点的信息
  4. client与请求建立通道dn1,dn2和dn3是备胎(三个里面有一个活着就行了)
  5. 客户端开始申请下载第二块
  6. 数据传输完毕

节点距离

1.拓扑距离最近
2.另外几个节点该怎么选择呢?同时为了确保安全性能性能
1.首先这些节点一定不会跨数据中心
2.一个节点在同一机架的不同位置
3.一个节点在不同机架的不同位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值