1.客户端中的Distributed File System会通过RPC协议调用名称节点确定请求文件块所在的位置。
2.名称节点返回调用文件开始的几个块,这些节点按照Hadoop定义的集群拓扑结构得出客户端距离,并进行排序。
3.FSDataInputStream连接保存离第一个数据块最近的数据节点,以数据流的形式读取,此时客户端多次调用Read(),直到数据块结束。
4.当第一个块读取完毕时,DSDataInputStream将会关闭连接,并查找存储下一个离客户端最近的数据节点。
5.当所有文件读取完毕后客户端将调用Close()函数关闭数据流。