HDFS 读/写数据流程
1. HDFS 写数据流程
- 客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件, NameNode 检查目标文件是否已存在,父目录是否存在;
- NameNode 返回是否可以上传;
- 客户端请求NameNode,获取第一个 Block 上传到哪几个 DataNode 服务器上;
- NameNode 返回3个 DataNode 节点, 分别为 dn1, dn2, dn3;
- 客户端通过 FSDataOutputStream 模块请求 dn1 上传数据, dn1 收到请求会继续调用 dn2, 然后 dn2 调用 dn3,将这个通信管道建立完成;
- dn1, dn2, dn3 逐级应答客户端;
- 客户端开始往 dn1 上传第一个 Block (先从磁盘读取数据放到一个本地内存缓存), 以 Packet 为单位, dn1 收到一个 Packet 就会传给 dn2, dn2 传给 dn3;dn1 每传一个 packet 会放入一个应答队列等待应答;
- 当一个 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 读/写数据流程相关推荐
- HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)
4.hdfs的工作机制 (工作机制的学习主要是为加深对分布式系统的理解,以及增强遇到各种问题时的分析解决能力,形成一定的集群运维能力) 注:很多不是真正理解hadoop技术体系的人会常常觉得HDF ...
- Hadoop HDFS创建文件/写数据流程、源码详细解析
HDFS创建文件/写数据源码解析 HDFS HDFS写流程 创建文件源码 客户端 DistributedFileSystem DFSClient DFSOutputStream 客户端/Namenod ...
- HDFS源码解析:教你用HDFS客户端写数据
摘要:终于开始了这个很感兴趣但是一直觉得困难重重的源码解析工作,也算是一个好的开端. 本文分享自华为云社区<hdfs源码解析之客户端写数据>,作者: dayu_dls. 在我们客户端写数据 ...
- HBase读数据和写数据流程
Hbase架构图镇楼: HBase读数据的流程: HRegionServer保存着meta表以及表数据,要访问表数据,首先Client先去访问zookeeper,从zookeeper里面获取meta表 ...
- 大数据之-Hadoop之HDFS的API操作_写数据流程_上传数据原理剖析_案例---大数据之hadoop工作笔记0066
hdfs的数据流,的写入过程,也就是,文件从本地上传到hdfs的过程,我们来看原理. 1.首先第一步我们的客户端去向,我们的完全分布式集群,像namenode节点,发起一个文件上传请求,并且把要上传的 ...
- hdfs写数据流程分析
- 图解Hadoop hdfs写数据流程
- Rocksdb 写数据流程
writeImpl 大致流程: 一般都要先做一些参数check 写wal 写memtable 更新seq 收尾 流程结束并返回 重要知识点: joinBatchGroup相关的status操作 写wa ...
- 【大数据入门笔记系列】第三节 Hdfs读、写数据处理流程
[大数据入门笔记系列]第三节 Hdfs读.写数据处理流程 Hdfs简介 写数据处理流程 读数据处理流程 后记 跳转 Hdfs简介 一般而言,Hdfs是由一个NameNode节点和若干个DataNode ...
最新文章
- java 分配cpu使用率_Java-JVM-CPU使用率达到100%
- cp linux 显示进度条_Unix/Linux/Mac os下 文件互传
- .NET Core 3.0 新 JSON API - JsonDocument
- Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static...
- Spring Boot Transactional注解源码阅读笔记(二)
- 书写「简历」时,需要规避的错误
- AC+AP组网和MESH组网介绍和区别
- 阿里云云计算 7 ECS的产品优势
- LTE网络架构和协议栈
- 答案--Java面试笔试题(3年以上)
- 2008年南京等5城市将升格直辖市
- 传奇3服务器配置文件,分享传奇三架设的全部详细攻略
- 笔记一:领导力是什么
- linux定时情况root mail,Linux_Linux系统下mail命令使用,我经常用root帐号登录RHEL5,在 - phpStudy...
- 获取视频fps、总帧数
- 微信小程序云开发之收藏文章功能的简单实现
- 第6章 详细设计(软件工程导论 第6版)
- 【感悟】20岁的人生不应该停止奋斗。----------------努力努力再努力
- 下载 SQL Server Management Studio (SSMS)
- 为什么越来越多明星开始关注加密货币?