【Hadoop】HDFS储存(写)文件的方式

HDFS存储文件的方式:
step1:客户端向Namenode服务器发送申请,请求写文件到HDFS的目标路径下
step2:Namenode验证客户端权限和HDFS中的目标路径是否合理。若允许写入,返回信息给客户端
step3:客户端将文件切分为一个个block块(block0,block1,…)
step4:客户端向Namenode申请传输block0,Namenode返回分配给block0的Datanode列表(列表长度等于副本数)
step5:列表中的Datanode分别、依次备份block0到自己的服务器上
step6:block0备份成功后,Datanode返回信息给客户端。然后客户端返回block0上传成功的信息给Namenode。Namenode将元数据(block及其副本的信息,如大小,位置)同步到HDFS中的目标路径下
step7:循环step4-6,直到所有的block都上传完毕

注意:

  1. block的大小可以自定义,hadoop新版本中默认为128MB
  2. 副本数可以自定义,不能大于全部的Datanode节点数
  3. 显然,每个block被分配的Datanode列表可能不同。也就是说,一个Datanode通常只储存了一个大文件的一部分
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值