HDFS的数据写入过程

本文介绍了HDFS的数据写入过程,包括客户端通过DistributedFileSystem创建文件、与Namenode交互、DataStreamer处理数据队列、pipeline的建立与故障处理、以及客户端的关闭操作。在写操作中,客户端通过FSDataOutputStream将数据切割成packet,通过pipeline传输到datanode,并等待ack确认。当出现datanode错误时,系统会进行恢复操作,确保数据完整性。客户端调用close方法时,默认执行sync确保数据写入完成。
摘要由CSDN通过智能技术生成
HDFS写文件流程:

1.客户端通过调用DistributedFileSystem的create方法创建新文件

2.DistributedFileSystem通过RPC调用namenode去创建一个没有blocks关联的新文件,创建前,namenode会做各种校验,比如文件是否存在,客户端有无权限去创建等。如果校验通过,namenode就会记录下新文件,否则就会抛出IO异常.

3.这样会返回FSDataOutputStream的对象,FSDataOutputStream被封装成DFSOutputStream.
DFSOutputStream可以协调namenode和datanode。客户端开始写数据到DFSOutputStream,
DFSOutputStream会把数据切成一个个小packet,然后排成队列data quene。

4.DataStreamer会去处理接受data queue,他先问询namenode这个新的block最
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值