## HDFS读写数据的流程

一、HDFS写数据流程

(1)、客户端向namenode请求上传文件
(2)、namenode对请求进行合法检测(权限,路径是否合法,路径是否存在)
(3)、如果合法,namenode响应客户端允许上传
(4)、客户端根据自己自己设置的block大小,切分block。客户端请求上传第一个block,并请求namenode分配datanode的地址列表
(5)、namenode返回用于存储的datanode节点信息
(6)、客户端通过就近原则选取一个datanode节点,并发起建立传输通道的请求,当这个通道建立之后,这个datanode会去与第二个datanode建立通道,第二个与第三个建立通道……
(7)、所有的datanode依次应答客户端
(8)、客户端先传输第一个block(先从磁盘中取出放入内存中缓存),用packet传输,datanode节点收到一个packet后就会传输给下一个datanode节点,并将packet放入等待应答队列中等待应答
(9)、传输万第一个block后客户端继续请求传输第二个block

二、HDFS读数据的流程

(1)、客户端向namenod请求下载文件
(2)、namenode通过查询数据块的元数据信息找到datanode的地址
(3)、客户端按照就近原则挑选一台datanode所在的服务器(之后随机),请求读取数据。
(4)、datanode开始以packet传输数据
(5)、客户端接收到packet后先放本地缓存,最后写入目标文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值