HDFS的读写流程

 

 

1、2、 客户端向NameNode发起创建文件的请求,在NameNode上创建一个文件名,并且返回一个输出流

3、客户端向输出流发起写入数据的请求

4、输出流向NameNode请求写数据,NameNode根据请求的数据的大小,给数据分块,并且返回指定数据块对应的DataNode

5、 6、客户端拿到了NameNode分配的数据块需要写到的DataNode信息后,客户端将数据写到对应的DataNode中,并且完成数据块的备份

7、如果每一个接收到了数据块的DataNode上的数据块写完或者备份完后,则向NameNode报告说数据块写完了,使得NameNode最终确定哪些数据块写在哪些DataNode上

8、 9、 客户端关闭输出流,并且告诉NameNode写数据结束

 

 

 

 

1、客户端构建一个DistributedFileSystem,然后打开HDFS文件的输入流

2、从NameNode中找到需要读取文件对应的数据块在哪些机器上

3、4、5、 从数据块所在的机器上读取相对应的数据块

6、读完数据后,关闭输入流

posted @ 2019-11-29 13:49  花未全开*月未圆  阅读(175)  评论(0编辑  收藏  举报