-
跟namenode通信请求上传文件,namenode检查目标文件是否已经存在,父目录是否已经存在
-
namenode返回可以上传
-
client先对文件进行切分,请求第一个block传输到datanode服务器上
-
nemenode返回三个datanode服务器dn1 dn2 dn3
-
client请求3台datanode(按网络拓扑上的就近原则,一样的话随机)
-
调用rpc建立pipeline,dn收到请求会继续调用dn2 dn2调用dn3 然后逐步返回客户端
-
client往dn1上传第一个block
-
第一个block完了之后再次申请namenode上传第二个block



