HDFS读流程:
客户端访问NameNode获得文件数据块位置列表;
就近选择一个数据节点,建立输入流;
DataNode从数据节点读到客户端;
当数据块读取完毕时,关闭连接,连接下一个最近数据节点;
当数据读取完毕,关闭连接,结束;
# 详细理解
首先 Client 通过 File System 的 Open 函数打开文件,Distributed File System 用 RPC
调用 NameNode 节点,得到文件的数据块信息。对于每一个数据块,NameNode 节点返
回保存数据块的数据节点的地址。Distributed File System 返回 FSDataInputStream 给
客户端,用来读取数据。客户端调用 stream 的 read()函数开始读取数据。DFSInputStream
连接保存此文件第一个数据块的最近的数据节点。DataNode 从数据节点读到客户端
(client),当此数据块读取完毕时,DFSInputStream 关闭和此数据节点的连接,然后连接
此文件下一个数据块的最近的数据节点。当客户端