1.打开文件;
我们首先要创建FSData Input Stream的输入流,用户客户端只与它打交道,它里面封装 的DFSInput Stream会与具体的相关名词之间打交道,并且是后台封装的,不是代码实现的。
2.获取数据块信息;
DFSInput Stream通过远程过程调用与名称节点进行沟通,获取所访问的数据块集体位置 信息。(通过ClientProtocal.getBlockLocationc()查找下一个数据块)返回的时候会以远近 进行排序。
3.读取请求/4.读取数据;
获得位置信息后客户端会通过FSData Input Stream ,调用read函数进行读取。最近的优 先。读取完DFSInput Stream会关闭与此数据节点的链接。
5./6.如果数据过大,还有剩余部分未读取,会重复2.3.4.步骤直至全部读取完。
7.关闭文件;
通过.Close来关闭文件,结束流程。