hujh20 发表于 2016-12-10 06:38:09

【Hadoop十】HDFS读写流程

  HDFS读流程
  

 
  读流程详细步骤:

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

[*] 客户端调用FSDataInputStream的read方法读取数据
  HDFS写流程
  

 
页: [1]
查看完整版本: 【Hadoop十】HDFS读写流程