HDFS——读数据与写数据

HDFS读数据流程

  1. 客户端通过FileSystem 向NameNode发送请求,请求读取文件。
  2. NameNode收到请求,检查文件是否存在,存在就将文件的元数据信息返回给客户端。
  3. 客户端收到存放数据的节点信息,创建FSDataOutputStream读取节点1的数据,客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。
  4. 传输完成继续读取节点2的数据....
  5. 客户端关闭流。读取完成。

HDFS写数据流程

  1. 客户端通过FileSystem 向NameNode发送请求,请求上传文件。
  2. NameNode收到客户端的请求,响应客户端-可以上传文件。
  3. 客户端将文件切块,请求上传第一个BLOCK。
  4. NameNode收到请求,寻找集群中距离,资源占用最优的DataNode节点返回给客户端。
  5. 客户端收到节点信息,创建FSDataOutputStream,将文件以流的形式请求上传DataNode。
  6. DataNode响应客户端可以上传。
  7. 客户端以流的形式将BLOCK以packet的形式上传到DataNode,DataNode收到一个packet就将其传输到第二个DataNode,第三个DataNode。
  8. 传输完第一个BLOCK继续上传第二个BLOCK,反复执行,直到传输完成。
  9. 客户端关流。

猜你喜欢

转载自blog.csdn.net/qq_45648512/article/details/105553115
今日推荐