【Hadoop十】HDFS读写流程

HDFS读流程



 

读流程详细步骤:

  • HDFS客户端将要读取的HDFS文件封装成DistributedFileSystem对象,然后调用DistributedFileSystem的open方法打开要读取的文件
  • DistributedFileSystem对象通过RPC访问NameNode获取文件的块信息。NameNode返回每个数据块在DataNode上的位置;每个数据块如果有备份,那么备份所在的位置也会返回给客户端,并且会对用户客户端所在的位置按照数据本地优先的策略进行排序。如果客户端在DataNode上,同时该DataNode上有要读取的数据块,那么客户端会进行本地读取,下图是数据访问策略

最终,DistributedFileSystem会返回一个FSDataInputStream对象供客户端读取数据,

  •  客户端调用FSDataInputStream的read方法读取数据

HDFS写流程



 

猜你喜欢

转载自bit1129.iteye.com/blog/2190807