Client(客户端)对HDFS中的数据进行读写操作,分别是Client从HDFS中查找数据,即为Read(读)数据;Client从HDFS中存储数据,即为Write(写)数据。下面我们对HDFS的读写流程进行详细的介绍。假设有一个文件1.txt文件,大小为300M,这样就划分出3个数据块,如下图所示。
下面,我们根据上图,分别讲解HDFS文件读数据和写数据的原理。
1.HDFS写数据原理
在我们把文件上传到HDFS系统中,HDFS究竟是如何存储到集群中去的,又是如何创建备份的,接下来我们来学习客户端向HDFS中的写数据的流程。
从中我们可以分析出,HDFS中的写数据流程可以分为12个步骤,具体如下:
(1) 客户端发起文件上传请求,通过RPC(远程过程调用)与NameNode建立通讯。
(2) NameNode检查元数据文件的系统目录树。
(3) 若系统目录树的父目录不存在该文件相关信息,返回客户端可以上传文件。
(4) 客户端请求上传第一个Block数据块,以及数据块副本的数量(可以自定义副本数量,也可以