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关闭数据流

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

  • 相关阅读:
    Leetcode 笔记 110
    Leetcode 笔记 100
    Leetcode 笔记 99
    Leetcode 笔记 98
    Leetcode 笔记 101
    Leetcode 笔记 36
    Leetcode 笔记 35
    Leetcode 笔记 117
    Leetcode 笔记 116
    android加载速度优化,通过项目的优化过程分析
  • 原文地址:https://www.cnblogs.com/joey-413/p/13958377.html
Copyright © 2011-2022 走看看