zoukankan      html  css  js  c++  java
  • HDFS学习之路三

    HDFS读写流程:

    HDFS读取数据的流程:

      1. 客户端向namenode发送读取数据请求

      2. 那namenode检查客户端权限, 根据客户端请求的数据信息,找到对应数据存在的datanode, 形成一个datanode列表

      3. 返回一个block的datanode列表

      4. 客户端和datanode建立pipeline, 就近原则(根据HDFS的网络拓扑, 减少磁盘IO压力)

      5. 客户端开始读取数据, 读取数据的单位是 packet (64K)

      6. 读取完毕,客户端通知namenode, 并关闭数据流

    HDFS的写流程:

      1. 客户端向namenode发送写入数据请求

      2. namenode检查权限, 返回数据流对象

      3. namenode找到能够写入的datanode(正常的datanode) , 返回给客户端

      4. 客户端请求上传blk1,(整体数据被切分为n块)

      5. 客户端与datanode建立pipeline , datanode之间也建立了pipeline

      6. 开始传递数据, 单位为 packet 

      7. 各个datanode将数据缓存到本节点

      8. 重复上传数据块,直至上传完毕, 最后datanode发送应带给客户端

      9. 客户端通知namenode关闭数据流

    学习阶段, 有不足之处请多指教!!!

  • 相关阅读:
    简单理解Socket
    TCP/IP、Http、Socket的区别
    iOS,一行代码进行RSA、DES 、AES、MD5加密、解密
    iOS开发
    我的问题
    Windows 摄像头数据
    学习记录
    编码转换
    QString 编码转换
    参考网页
  • 原文地址:https://www.cnblogs.com/joey-413/p/13958377.html
Copyright © 2011-2022 走看看