hdfs上传和下载文件的流程

本文详细介绍了HDFS文件的上传和下载过程。在上传时,客户端首先发送请求给Namenode,经过一系列检查后进行数据切块、构建Pipeline并逐块上传。在下载时,客户端从Namenode获取数据块信息,遵循就近原则进行下载,并通过CRC文件进行完整性校验。整个过程中,HDFS具备错误处理和重试机制,确保数据的安全传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、上传文件

1、客户端上传文件

客户端向namenode发送数据上传的请求(包含数据的长度信息)
hadoop fd -put / /     (以上传200M文件为例)

2.namenode检查工作

namenode收到客户端请求之后会进行一系列的检查工作

  1. 查重处理,如果重复则报错
  2. 验证上传文件的目标目录是否存在,不存在报错
  3. 检查权限
  4. ...

3.返回检查信息到客户端

第二部检查通过之后,namenode会给可客户端返回一个存储的节点信息

  • 返回的原则【就近原则】
  • 优先返回客户端所在节点
  • 其次返回同机架的节点
  • 最后返回不同不同机架的节点

4.数据切块

客户端收到第三部的响应之后,会进行一次切块处理【这里是逻辑切块

物理切块:真实的切分,将200M切分为128M+72M。两个块会分别存储
逻辑切块:可以理解为切分前的准备,每个块128M,计算出需要切分成几个块(切块规划)

5.准备文件上传,构建统计pipeline (根据块的id进行构建)

将同一个块的所有存储节点构建成一个数据流通道
按照块的id依次构建通道,构建完成之后会逆序返回一个响应

6.开始文件上传(以块为单位)

开始真正的文件上传,边上传边进行数据的物理切块
上传的时候是以package为单位进行上传的&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值