HDFS文件上传和下载流程

1、HDFS上传文件

  1. 客户端请求上传文件:客户端(通常是Hadoop集群中的一个节点)发出上传文件的请求,改请求包括文件的本地路径、文件名以及在HDFS中的目标路径
  2. NameNode验证请求:客户端请求首先到达集群中的NameNode,NameNode负载管理HDFS的文件系统命名空间和元数据。NameNode验证客户端的权限,,确保客户端有权向指定的目标路径上传文件;查看文件名是不是在当前目录下重复。。。自检
  3. 分块和数据节点选择:当符合上传文件要求时,NameNode确定文件应该如何分块(默认情况下,HDFS将文件分成128MB或256MB的块)。然后,它提供一个包含数据块的列表给客户端,并告知客户端每个数据块应该存储在哪个数据节点上。
  4. 客户端分块上传:客户端将文件分成块,并开始并发地将每个数据块上传到相应的数据节点。上传的过程中,客户端和数据节点之间会进行数据校验,确保数据的完整性。
  5. 数据节点存储数据块:每个数据节点负责存储它所接收到的数据块。
  6. 副本复制:默认情况下,HDFS会将每个数据块复制到集群中的多个数据节点上,以提供冗余和容错性。副本的数量有Hadoop配置参数指定。

2、HDFS下载文件

  1. 客户端请求下载文件:客户端向NameNode发出下载文件的请求,请求包括要下载的文件和路径名。
  2. NameNode验证请求:NameNode验证客户端的权限,确保客户端有权访问要下载的文件。在元数据中查看该请求的资源是否存在。。。自检
  3. NameNode提供数据节点信息:NameNode提供包含文件块信息和数据节点位置的列表给客户端
  4. 客户端选择数据节点:客户端选择一个或多个数据节点,通常选择距离它们最近的节点,以便加快下载速度
  5. 数据块的组装和校验:客户端将下载的数据块组装成完整的文件。在下载过程中,数据的校验和验证确保数据的完整性。
  6. 文件完整性验证:客户端通常会计算下载文件的校验和(比如MD5或SHA-256),并将其与NameNode上存储的校验和进行比较,以确保下载的文件与原始文件一致。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值