上传的操作流程:
1、客户端读取文件之后有了filesystem
2、之后客户机申请上传发起请求。Namenode进行审核(此路径是否被其他文件占用或者有没有权限)告诉客户机能否上传
3、客户机对文件进行逻辑切分。之后客户机开一个FSDataoutputStream之后请求上传第一个block。
4、然后namenode返回相应的datanode表示采用这几个节点存储数据。三个datanode中第一个是离他最近的之后两个是根据他选出来的。
5、之后客户机请求建立datanode1.然后1到2然后2到3请求之后3在相应2,然后2在1然后1在相应客户机。
6、然后客户机传输packet。之后datanode一边落盘一边转发给下一个
7、之后一次相应回来,客户机关闭输出流表示文件传输完毕,并且反映给namenode
下载的操作流程:
1、客户机打开filesystem向namenode申请下载文件。namenode进行判断
2、Namenode响应文件存在
3、客户机打开fsdatainputstream请求下载第一个block
4、namenode饭后三个datanode表示采专用三个节点存储数据
5、客户机与第一个datanode进行连接成功的话进行packet的传输获取到文件。后两个datanode属于备胎