HDFS读数据流程:
1.客户端像NameNode请求读取文件
2.NameNode判断客户端对该文件是否有读取权限,没有就直接报错,如果有读权限,则再校验该文件知否存在,不存在则报错,文件存在就会根据 机架感知原理和网络拓扑图 返回该文件在DataNode上的block块地址信息给客户端
3.客户端根据接收到的地址信息,到对应的DataNode上读取文件
4.如果之前读取的是部分块,则读取完成后,会再次向namenode申请读取其他block块的地址信息,然后重新读取,直至所有block块全部读取完毕
5.客户端按照block块的信息,进行拼接,最终得到完整的文件。至此,文件全部读取完成。