写数据流程:

1.客户端Distribute FileSystem模块向NameNode发出写数据请求。
2.客户端检查是否可以上传,做出响应。
3.客户端向NameNode请求上传第一个block块。
4.NameNode返回分配的DataNode节点信息。
5.客户端通过FSDataOutputStream向分配的DataNode发出建立通道的请求,同时分配好用来存储副本的几个DataNode之间也会建立数据传输通道。
6.通道建立完成,返回响应。
7.客户端开始上传block块,数据以packet为单位传输DataNode1,DataNode1通过通道传递给DataNode2,DataNode2传递给DataNode3。
8.第一个数据块传输完成,客户端再向NameNode申请传输第二个数据块,重复执行3-7的步骤。
读数据流程:

1.客户端Distribute FileSystem模块向NameNode发出读数据请求。
2.NameNode检查文件是否存在,返回响应。如果存在,返回元数据信息。
3.客户端根据元数据信息去最近的DataNode请求数据block1。
4.DataNode开始向客户端传输数据。
5.客户端以packet为单位接收文件,先在本地缓存,最后再写入指定文件。
1006

被折叠的 条评论
为什么被折叠?



