上期我们介绍了HDFS的写流程这期介绍一个读流程,这个读流程其实就是客户端从系统中拉取自己想要文件的操作,那么让我们来看一下底层逻辑是什么样的吧

  1. 客户端通过DistributedFileSystem向NameNode请求下载文件,NameNode判断是否有下载权限和通过查询元数据,如果有权限那么就去找到文件块所在的DataNode地址。

  2. NameNode会返回目标文件的元数据(索引,目录等等)

  3. 客户端会挑选一台DataNode(最近的节点)服务器,请求读取数据。

  4. DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)。

  5. 客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。

更多推荐