读流程

1,客户端通过文件系统向NameNode 请求下载文件,NameNode 通过元数据查找文件块所在的DataNode地址。
2,挑选一台DataNode服务器。
3,DataNode开始传输数据给客户端。
4,客户端以packet(包)为单位接收,先在本地缓存,然后再写入本地文件。

写流程

1,客户端向NameNode发送请求,NameNode 会检测文件目录是否存在。
2,NameNode 返回是否可以上传。
3,客户端请求一个block需要上传到哪些DataNode节点上。
4,DataNode返回三个节点 (dn1,dn2,dn3)。
5,客户端请求dn1上传数据,dn1调用dn2,dn2调用dn3。
6,客户端请求dn1节点上传block数据,dn1同步给dn2,dn2同步给dn3。
7,当block上传完毕之后,客户端继续向NameNode发送请求,上传第二个block数据。依次循环。