教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

天富娱乐登录体育真人 微信白菜图标表情:微信白菜图标表情

更新时间:2022年07月12日14时15分 来源:传智教育 浏览次数:

好口碑IT培训

之前我们讲过客户端向HDFS写数据的流程,接下来学习客户端从HDFS中读数据的流程,如图3-9所示。

微信白菜图标表情

图3-9 HDFS读数据的流程

从图3-9可以看出,HDFS中的读数据流程可以分为4个步骤,具体如下:

(1)客户端向NameNode发起RPC请求,来获取请求文件Block数据块所在的位置。

(2)NameNode检测元数据文件,会视情况返回部分Block块信息或者全部Block块信息,对于每个Block块,NameNode都会返回含有该Block副本的DataNode地址。

(3)客户端会选取排序靠前的DataNode来依次读取Block块(如果客户端本身就是DataNode,那么将从本地直接获取数据),每一个Block都会进行CheckSum(完整性验证),若文件不完整,则客户端会继续向NameNode获取下一批的Block列表,直到验证读取出来文件是完整的,则Block读取完毕。

(4)客户端会把最终读取出来所有的Block块合并成一个完整的最终文件(如1.txt)。

小提示:NameNode返回的DataNode地址,会按照集群拓扑结构得出DataNode与客户端的距离,然后进行排序。排序有两个规则:网络拓扑结构中距离客户端近的则靠前;心跳机制中超时汇报的DataNode状态为无效的,则排靠后。

0 分享到:
和我们在线交谈!