图解: HDFS的文件写入流程

写入之前:

现有客户端写入数据

图解: HDFS的文件写入流程

现有HDFS文件系统等待接收数据

图解: HDFS的文件写入流程

第一步:先问问可不可以写入

先来问一下可不可以写入:
1.从客户端发送请求到NameNode

图解: HDFS的文件写入流程

2.NameNode接收到请求后校验他是否有权限,是否有同类文件在系统中
如果有父级目录,也要校验一下父级目录是否存在

图解: HDFS的文件写入流程

第二步:开始分块上传,询问第一块数据块放在那?

同样的,也是向NameNode发送请求

图解: HDFS的文件写入流程

第三步:NameNode返回文件存储位置给客户端

图解: HDFS的文件写入流程

第四步:客户端拿到文件具体存放的位置之后,开始向A1传输数据,A1再根据 RPC调用,建立pipeline管道,再向A6发送请求传输,A6传输完成后,再向B6传输

图解: HDFS的文件写入流程

直到整个pipeline建立完成后,逐一返回结果给客户端图解: HDFS的文件写入流程

第五步:关闭输入流

当第一块数据块传输完成后,接着传输第2块,3块,n块…