HDFS写数据流
HDFS(Hadoop Distributed File System)是GFS的开源实现。
1.与namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在
2.namenode返回是否可以上传
3.client请求第一个 block该传输到哪些datanode服务器上
4. namenode返回3个datanode服务器123
5. clinet请求三台datanode一个,选择1datanode(设datanode1为最近的服务器),1收到请求后会继续调用2,2则会调用3。直到完成”数据流管道“中的最后一个数据节点,逐个返回客户端。
6. client开始往A上传第一个block,以packet(默认大小是64MB)为单位,A收到一个packet就会传给B,B传给C。
7. 当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。



