读取流程原理:
1.HDFS Client与NN通信,获取文件信息:
文件有多少块,分别在哪些DN上
2.业务调用read API 进行读写文件操作
3.HDFS Clien根据NN返回的元数据信息,与DN通信
此处Client采用就近原则读取数据,数据有多块时,不同DN,Client会同时与多个DN通信,获取数据块
4.数据读取完成以后,业务调用close关闭连接,读取结束
当Client与NN通信时,NN有验证机制,
验证1:Client发送的请求信息,是否存在
验证2:Client发送的请求,权限是否满足
NN验证机制通过以后,给Client返回的信息内容包含:
1.此文件分成了多少个块
2.这些快分别在哪些DN上,即DN的位置信息
Client读取数据的就近原则:
就近原则:近:响应请求的时间短
即:在两个或者多个副本时,Client会选择响应时间最短的那个副本进行读取操作,也就是选择最优的副本进行读写
HDFS架构其他关键设计要点说明:
1.统一的文件系统名字