HDFS的读写删操作流程

本文详细介绍了HDFS的读取、写入和删除操作流程。在读取流程中,客户端通过RPC访问NameNode获取文件存储路径,然后逐个DataNode读取文件块并校验。写入流程中,NameNode首先检查文件权限,然后客户端切分文件并写入DataNode,形成pipeline保证数据复制。删除流程涉及NameNode更新元数据,客户端发起删除请求。
摘要由CSDN通过智能技术生成

一、读取流程

在这里插入图片描述
上图的详细过程:
1、HDFS提供的客户端开发库Client,通过RPC访问NameNode,发送读操作。
2、NameNode通过查询元数据,获取到文件的存储路径,将文件对应的全部(文件较小)或者文件的部分(文件较大)的存储路径放到一个队列中,发送给客户端。
3、客户端收到队列,依次遍历队列,读取文件块的信息
4、客户端从队列中获取到第一个文件块的存储位置,从中选出一个最近的DataNode来进行读取。
5、读完第一块之后校验文件块的大小是否符合,如果符合,继续读取第二个文件块;如果不符合,表明文件有损坏,去其他DataNode重新读取,同时通过心跳机制告知NameNode。发送完后面的每一块都会校验。
6、读取完这批次的文件块,在此访问NameNode,获取下一批数据。
7、直到所有的文件块都读完,客户端会通知NameNode关闭文件。

二、写入流程

在这里插入图片描述
1、HDFS提供的客户端开发库Client,向远程的NameNode发起RPC请求写入操作。
2、NameNode会检查要创建的文件是否已经存在,创建者是否有权限进行操作(用户也有不同的权限),成功则会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值