步骤文字说明
1.客户端通过分布式文件系统(调用Create)请求创建一个新文件,名称节点(NN)通过验证请求的客户端,创建一个新文件。
如创建成功,则分布式文件系统返回一个文件系统数据输出流,交给请求客户端写数据。
如创建失败,显示IOException异常。
2.客户端调用Write函数,写入数据。
3.当客户端写入数据,文件系统数据输出流会将文件分割成一个个文件包放在数据队列中,数据队列会将这些小文件包放入数据流中,NN将把这些文件存放在合适的数据节点中。
4.文件系统数据输出流内部会保存一个队列,用来等待各个数据节点返回确认信息,当各个数据节点都返回写入成功的信息后,此队列删除。
5.当客户端写完,数据节点会向客户端发出确认,然后客户端向名称节点发送结束的信息并储存,自此完成写数据流程。