HDFS写数据流程

HDFS写数据流程:1、客户端通过调用,分布式文件系统里的Create()新建一个文件,分布式文件系统通过RPC调用的名称节点中的文件系统命名空间创建一个新文件。//系统确认客户端操作的权限,并且查看是否有相同文件。验证未通过,则为创建失败,会显示IOException异常。验证通过,则分布式文件系统会返回文件系统数据输出流  让客户端去写数据。

2、客户端调用文件系统数据输出流里面的Write()函数,向对应文件写入数据。//写入数据时,分布式文件系统会将会将文件分为一个一个的数据块,放入“数据队列”里,再由数据流系统将分割开的文件放入数据流中,最后通过文件流方式向数据节点中写数据。

3、在写数据时  分布式文件系统同时会保存数据块,作为内部队列,当数据流里的数据全部输入的同时,内部队列会去确认输入数据的信息,所以这个内部队列也会作为确认队列。当全部数据都被确认成功输入,最后这个内部队列会被删除。

4、如果中途输入失败,HDFS会将失败的文件以及后面的文件添加到“数据队列”的前端确保输入的数据不被丢失。并且与名称节点关联,失败的数据节点若恢复正常,则失败的数据块删除,此节点没有配置属性,则另外的数据节点重新安排创建副本,最后正常执行写入操作。

5、完成写入,调用文件系统数据输出流里的Close()方法,写入节点,等待确认并返回成功,完成写入。将文件的块信息存储在名称节点中。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值