zoukankan      html  css  js  c++  java
  • HDFS读写流程

    1.HDFS写流程

    1)客户端发起写文件 /usr/ss.avi请求

    客户端的DFS(distributed file system)向namenode发起写文件的请求,namenode需要检查目标文件是否存在,是否有权限,上层文件是否存在等。

    2)namenode返回可以上传文件

    3)客户端请求上传第一个块(block)

    客户端按照块大小切分,请求上传第一个块,namenode将返回存储块的节点列表信息

    4)namenode返回datenode信息,分别是dn1,dn2,dn3节点

    5)客户端FSDataOutputStream与dn1建立block连接,dn1与dn2建立通讯连接,dn2与dn3建立通讯连接

    6)dn1,dn2,dn3依次返回客户端响应

    7)客户端读取block信息,缓存到本地,并且以package为最小单位进行传输,上传到dn1后,dn1传给dn2,dn2传给dn3

    dn1每传完一个package会放入一个等待应对的队列

    8)当第一个block上传完成后,会通知namenode,然后请求上传第二个块,重复步骤3-8

    2.HDFS读流程

    1)客户端发送读取文件/usr/ss.avi的请求

    2)namenode返回元数据信息

    3)就近原则,随机原则请求读取数据,并与dn1建立连接

    4)读取文件,缓存到本地,并以package为单位上传给客户端,完成读取。

    爱人不亲,反其仁;治人不治,反其智;礼人不答,反其敬;行有不得,反求诸己
  • 相关阅读:
    hdu 1058
    hdu 1003
    hdu 1500
    hdu 1083 最大匹配
    hdu 1370 中国剩余定理
    hdu 1299 数论 分解素因子
    hdu 1299
    poj 1144 求割点
    hdu 1068 最大独立集合
    hdu 1054
  • 原文地址:https://www.cnblogs.com/lina-2015/p/14143705.html
Copyright © 2011-2022 走看看