1. HDFS 写数据流程

  1. 客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件, NameNode 检查目标文件是否已存在,父目录是否存在;
  2. NameNode 返回是否可以上传;
  3. 客户端请求NameNode,获取第一个 Block 上传到哪几个 DataNode 服务器上;
  4. NameNode 返回3个 DataNode 节点, 分别为 dn1, dn2, dn3;
  5. 客户端通过 FSDataOutputStream 模块请求 dn1 上传数据, dn1 收到请求会继续调用 dn2, 然后 dn2 调用 dn3,将这个通信管道建立完成;
  6. dn1, dn2, dn3 逐级应答客户端;
  7. 客户端开始往 dn1 上传第一个 Block (先从磁盘读取数据放到一个本地内存缓存), 以 Packet 为单位, dn1 收到一个 Packet 就会传给 dn2, dn2 传给 dn3;dn1 每传一个 packet 会放入一个应答队列等待应答;
  8. 当一个 Block 传输完成之后,客户端再次请求 NameNode 上传第二个 Block 的服务器。(重复执行 3-7 步)。

1.1 网络拓扑--节点距离计算

  • 在 HDFS 写数据的过程中, NameNode 会选择距离待上传数据最近距离的 DataNode 接收数据。
  • 如何计算最近距离?
    • 节点距离:两个节点到达最近的共同祖先的距离总和。

1.2 机架感知(副本存储节点选择)

2. HDFS 读数据流程

参考资料:

  • HDFS 文件IO流操作

转载于:https://www.cnblogs.com/linkworld/p/10940512.html

HDFS 读/写数据流程相关推荐

  1. HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)

    4.hdfs的工作机制 (工作机制的学习主要是为加深对分布式系统的理解,以及增强遇到各种问题时的分析解决能力,形成一定的集群运维能力)   注:很多不是真正理解hadoop技术体系的人会常常觉得HDF ...

  2. Hadoop HDFS创建文件/写数据流程、源码详细解析

    HDFS创建文件/写数据源码解析 HDFS HDFS写流程 创建文件源码 客户端 DistributedFileSystem DFSClient DFSOutputStream 客户端/Namenod ...

  3. HDFS源码解析:教你用HDFS客户端写数据

    摘要:终于开始了这个很感兴趣但是一直觉得困难重重的源码解析工作,也算是一个好的开端. 本文分享自华为云社区<hdfs源码解析之客户端写数据>,作者: dayu_dls. 在我们客户端写数据 ...

  4. HBase读数据和写数据流程

    Hbase架构图镇楼: HBase读数据的流程: HRegionServer保存着meta表以及表数据,要访问表数据,首先Client先去访问zookeeper,从zookeeper里面获取meta表 ...

  5. 大数据之-Hadoop之HDFS的API操作_写数据流程_上传数据原理剖析_案例---大数据之hadoop工作笔记0066

    hdfs的数据流,的写入过程,也就是,文件从本地上传到hdfs的过程,我们来看原理. 1.首先第一步我们的客户端去向,我们的完全分布式集群,像namenode节点,发起一个文件上传请求,并且把要上传的 ...

  6. hdfs写数据流程分析

  7. 图解Hadoop hdfs写数据流程

  8. Rocksdb 写数据流程

    writeImpl 大致流程: 一般都要先做一些参数check 写wal 写memtable 更新seq 收尾 流程结束并返回 重要知识点: joinBatchGroup相关的status操作 写wa ...

  9. 【大数据入门笔记系列】第三节 Hdfs读、写数据处理流程

    [大数据入门笔记系列]第三节 Hdfs读.写数据处理流程 Hdfs简介 写数据处理流程 读数据处理流程 后记 跳转 Hdfs简介 一般而言,Hdfs是由一个NameNode节点和若干个DataNode ...

最新文章

  1. java 分配cpu使用率_Java-JVM-CPU使用率达到100%
  2. cp linux 显示进度条_Unix/Linux/Mac os下 文件互传
  3. .NET Core 3.0 新 JSON API - JsonDocument
  4. Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static...
  5. Spring Boot Transactional注解源码阅读笔记(二)
  6. 书写「简历」时,需要规避的错误
  7. AC+AP组网和MESH组网介绍和区别
  8. 阿里云云计算 7 ECS的产品优势
  9. LTE网络架构和协议栈
  10. 答案--Java面试笔试题(3年以上)
  11. 2008年南京等5城市将升格直辖市
  12. 传奇3服务器配置文件,分享传奇三架设的全部详细攻略
  13. 笔记一:领导力是什么
  14. linux定时情况root mail,Linux_Linux系统下mail命令使用,我经常用root帐号登录RHEL5,在 - phpStudy...
  15. 获取视频fps、总帧数
  16. 微信小程序云开发之收藏文章功能的简单实现
  17. 第6章 详细设计(软件工程导论 第6版)
  18. 【感悟】20岁的人生不应该停止奋斗。----------------努力努力再努力
  19. 下载 SQL Server Management Studio (SSMS)
  20. 为什么越来越多明星开始关注加密货币?

热门文章

  1. RAID6结构原理详解
  2. RxJS 系列之二 - Observable 详解
  3. centos7安装kibana5.x
  4. ssh-copy-id password
  5. Spring4Shell 漏洞已遭Mirai 僵尸网络利用
  6. 千万别从网页复制粘贴命令
  7. GTP时间管理的实践心得
  8. 链客区块链技术面试题目专题(三)
  9. WebViewJavascriptBridge用法
  10. SQL Server超时诊断和调优