HDFS的读写流程(完全分布式)

HDFS的读流程
*
1,客户端通过DistrubutedfileSystem向Namenode发送一个数据读取请求
*
2,NameNode在收到客户端发送过来的数据读取请求后,在内存中查询这个文件的元数据信息,将查询到的元数据信息返回给客户端,元数据信息:有多少个块,有多少个副本,每个副本在哪一个节点上,在每个节点的位置,文件的权限,文件的的所有者,文件的修改时间。。
*
3,客户端在收到了NameNode返回的元数据之后,选择一个DataNode请求数据。在此过程中,遵循就近原则。
*
4,DataNode向客户端发送数据(在此过程中,DataNode从本地磁盘读取数据,发送给Client,数据是以packet为单位发送)
*
5,客户端在收到了数据之后,先缓存在内存,将文件写出到目标磁盘。

HDFS的读流程
hdfs的写流程
*
1.客户端通过DistributedFileSystem向NameNode发送一个上传的请求,NameNode会检查这个文件是否存在,以及其腹肌文件是否存在,同时进行权限的校验
*
2.如果校验通过了,NameNode会相应客户端的请求信息
*
3.客户端将需要上传的第一个块信息上传给namenode,并请求datanode’的位置
*
4.namenode返回给客户端datanode的信息,并允许上传
*
5.客户端同股票FSDataOutputStream与指定的datanode请求建立连接,传输数据
*
6.datanode相应Client的连接请求,建立连接,数据将以packet为单位进行传递
*
7.datanode在收到了数据之后,以副本的形式,在不同的节点之间进行传递;
*
8.直到所有的数据上传完成,DataNode会通过心跳的机制,汇报给NameNode自己节点的数据信息,同时,客户端在离开之前,也会告诉NameNode自己的写操作完成。

在这里插入图片描述
//原创,转载请说明。

Supongo que te gusta

Origin blog.csdn.net/qq_43729898/article/details/111871018
Recomendado
Clasificación