写在前面:
略
进入主题:
- 首先客户端发送请求到DFS,申请读取某一个文件
- /tomcat.tar.gz
- DFS去NN查找这个文件的信息(权限,文件是否存在)
- 如果文件不存在,抛出指定的错误
- 如果文件存在,返回成功状态
- DFS创建FSDataInputStream对象,客户端通过这个对象读取数据
- 客户端获取文件第一个Block信息,返回DN1 DN2 DN8
- 客户端直接就近原则选择DN1对应的数据即可
- 依次类推读取其他块的信息,直到最后一个块,将Block合并成一个文件
- 关闭FSDataInputStream
完毕。