1.创建文件请求;
客户端向DistributedFileSystrm发送请求,再由DistributedFileSystrm创建一个输出流叫FSDataOutputStream。HDFS后台会在FSDataOutputStream里面封装DFSOutputStream,DFSOutputStream会专门与数据节点交流进行下一步操作。
2.创建文件元数据;
DFSOutputStream执行rpc远程调用去调用名称节点,使名称节点在他的系统命名空间中新建一个文件。
3.写入数据;
流水线的复制方式是HDFS高效的一种写数据方式,具体会把写入的数据分成多个分包,DFSOutputStream会把分包放进内部队列,随后会向名称节点申请数据节点。
4.写入数据宝;
名称节点返回的数据节点会形成一个数据流管道,DFSOutputStream会把分包再次打包成数据包,发往申请的第一个数据节点。数据包会被复制并且随着“管道”发送至每一个数据节点。