HDFS读写流程详细解读

本文详细介绍了HDFS的读文件和写文件流程。在读取时,客户端首先向NameNode请求文件位置,然后从DataNode读取数据块。在写入时,客户端切割文件并发送数据块到NameNode,确保在多个DataNode上创建副本。整个过程涉及NameNode、DataNode和客户端之间的交互。
摘要由CSDN通过智能技术生成

HDFS读文件流程

在这里插入图片描述
在这里插入图片描述

读取文件过程简述:

1、客户端向NameNode发起读数据请求;
2、NameNode响应请求并告诉客户端要读的文件的数据块位置(存在哪个DataNode上);
3、客户端到对应DataNode读取数据,当数据读取到达末端,关闭与这个DataNode的连接,并查找下一个数据块,直到文件数据全部读完;
4、最后关闭输出流。

读取文件过程详细解读:

1、客户端调用FileSystem 实例的open 方法,获得这个文件对应的输入流InputStream。
2、通过RPC 远程调用NameNode ,获得NameNode 中此文件对应的数据块保存位置,包括这个文件的副本的保存位置( 主要是各DataNode的地址) 。
3、获得输入流之后,客户端调用read 方法读取数据。选择最近的DataNode 建立连接并读取数据。
4、如果客户端和其中一个DataNode 位于同一机器(比如MapReduce 过程中的mapper 和reducer),那么就会直接从本地读取数据。
5、到达数据块末端,关闭与这个DataNode 的连接,然后重新查找下一个数据块。直到文件数据全部读完;
6、客户端调用close ,关闭输入流DFS InputStream

HDFS写文件流程

在这里插入图片

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值