文章来源于:https://blog.csdn.net/xuejingfu1/article/details/52554174
文件写入staging(分阶段进行)
一个客户端的创建文件的请求并不直接会送达namenode;实际上,
1.最初HDFS客户端会把数据缓存在本地的buffer中,
2.应用的写操作被透明地重定向到该buffer;当缓存数据量达到128M时(block size),客户端会联系namenode,
3.namenode把该文件的文件名插入文件系统中并分配一个block给它;
4.namenode将datanode的身份以及目的block响应给客户端;
5.客户端把buffer中的数据传送给指定的datanode;
6.客户端通知namenode文件已关闭
7.namenode把该文件的metadata提交给EditLog和FsImage
8.如果namenode在文件关闭之前失效了,该文件将会丢失