2021年大数据Hadoop(十):HDFS的数据读写流程
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习。
有对大数据感兴趣的可以关注微信公众号:三帮大数据
目录
HDFS的数据读写流程
HDFS写数据流程
HDFS读数据流程
HDFS的数据读写流程
HDFS写数据流程
详细步骤解析:
1、client发起文件上传请求,通过RPC与NameNode建立通讯,NameNode检查目标文件是否已存在,父目录是否存在,返回是否可以上传;
2、client请求第一个 block该传输到哪些DataNode服务器上;
3、NameNode根据配置文件中指定的备份数量及副本放置策略进行文件分配,返回可用的DataNode的地址,如:A,B,C;
4、client请求3台DataNode中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将整个pipeline建立完成,后逐级返回client;
5、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位(默认64K),A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答。
6、数据被分割成一个个packet数据包在pipeline上依次传输,在pipeline反方向上,逐个发送ack(命令正确应答),最终由pipeline中第一个DataNode节点A将pipeline ack发送给client;
7、当一个block传输完成之后,client再次请求NameNode上传第二个block到服务器。
详细步骤图:
HDFS读数据流程
详细步骤解析:
1、Client向NameNode发起RPC请求,来确定请求文件block所在的位置;
2、NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode都会返回含有该block副本的DataNode地址;
3、这些返回的DN地址,会按照集群拓扑结构得出DataNode与客户端的距离,然后进行排序,排序两个规则:网络拓扑结构中距离Client近的排靠前;心跳机制中超时汇报的DN状态为STALE,这样的排靠后;
4、Client选取排序靠前的DataNode来读取block,如果客户端本身就是DataNode,那么将从本地直接获取数据;底层上本质是建立Socket Stream(FSDataInputStream),重复的调用父类DataInputStream的read方法,直到这个块上的数据读取完毕;
5、当读完列表的block后,若文件读取还没有结束,客户端会继续向NameNode获取下一批的block列表;
6、读取完一个block都会进行checksum验证,如果读取DataNode时出现错误,客户端会通知NameNode,然后再从下一个拥有该block副本的DataNode继续读。
7、read方法是并行的读取block信息,不是一块一块的读取;NameNode只是返回Client请求包含块的DataNode地址,并不是返回请求块的数据;
最终读取来所有的block会合并成一个完整的最终文件。
详细步骤图:
-
2021年大数据Hadoop(十):HDFS的数据读写流程相关推荐
- Hadoop(HDFS)文件读写机制
Hadoop(HDFS)文件读写机制 一.概述 采用Hadoop提供的API进行HDFS文件系统访问,文件读取时默认是顺序.逐block读取:写入时是顺序写入. 二.读写机制 首先来看文件读取机制: ...
- (转载)深入分析HDFS原理及读写流程
一.架构体系 1.1.什么是HDFS? HDFS即Hadoop Distributed File System的简称,采用Master/Slave主从结构模型来管理数据.在设计上采用了分而治之的思想, ...
- 从零开始大数据--Hadoop、HDFS、MapReduce、HBase、Hive
文章目录 概述 Hadoop HDFS HBase 实现原理 Regin服务器原理 HBase安装与使用 NoSQL数据库 MapReduce Hive 概述 IT领域每隔十五年就会迎来一次重大变革: ...
- java基础巩固-宇宙第一AiYWM:为了维持生计,大数据Hadoop之HDFS分布式文件系统(HDFS读写流程、主从集群两种问题“单点故障”及“压力过大内存受限”、HDFS的架构设计)~整起
Hadoop之HDFS 目录 一.大数据 二.HADOOP 三.HDFS 1.HDFS基本概念 2.HDFS的架构设计 3.HDFS自己对于上面两种数据持久化技术的实现: 4.HDFS读写流程 5.H ...
- (超详细)大数据Hadoop之HDFS组件
一. HDFS简介 1.1 HDFS的概述 在Hadoop生态圈中,HDFS属于底层基础,负责存储文件. 1.2 HDFS产生背景 HDFS全称为Hadoop Distributed File Sys ...
- 大数据Hadoop之HDFS和MapReduce_02_01
Hadoop 主要由HDFS和MapReduce 引擎两部分组成.最底部是HDFS,它存储hadoop集群中所有存储节点上的文件.HDFS 的上一层是MapReduce 引擎,该引擎由JobTrack ...
- hadoop学习笔记(三):hdfs体系结构和读写流程(转)
原文:https://www.cnblogs.com/codeOfLife/p/5375120.html 目录 HDFS 是做什么的 HDFS 从何而来 为什么选择 HDFS 存储数据 HDFS 如何 ...
- Hadoop理论——hdfs读、写流程
在Hadoop中我们一定会使用hdfs的传输,那么,hdfs的读写流程究竟是什么,我利用了一点时间整理了一下 首先就是官网的图,介绍了HDFS hdfs写流程 1,客户端client调用Distrib ...
- A股level2数据接口十档行情数据代码说明
//股票十档行情 //接口数据说明 message StockQuoteRecord{ uint32 stock_exchange = 1;//证券市场,见数据字典 string stock_code ...
- 大数据Hadoop之——总结篇
文章目录 一.前言 二.Hadoop 1)HDFS常见操作 1.HDFS服务启停命令 2.常见文件操作命令 3.安全模式操作命令 4.数据平衡常见操作命令 5.处理小文件常见操作命令 6.HDFS N ...
最新文章
- js路由在php上面使用,React中路由使用详解
- 从Java视角理解CPU缓存(CPU Cache)
- Juniper Firewall多进单出配制实例
- [Leedcode][JAVA][第76题][最小覆盖子串]滑动窗口]
- gdbc 同步mysql_Jdbc数据同步
- 低姿态生活,高境界做人
- CF285D.Permutation Sum
- MCU_通过windows串口API控制RTS和DTR
- PPAPI插件开发指南
- MEGA视频目标检测
- 【python】excel文件(.xls文件)处理
- 左联接、右联接、内联接、自然联接
- 格密码LLL算法:如何解决最短向量SVP问题(1)
- 软件的接口设计图_面向服务架构(SOA)的汽车软件分析和设计
- jsp servlet mysql实现的java学生选课系统源码附带高清视频指导运行教程及论文
- 重力场和稳态海洋环流探测器(GOCE)
- 【2017.11.30】3. Longest Substring Without Repeating Characters-最长字串不重复字符
- 一篇文章带你玩转C语言基础语法。2:数据类型。千字总结
- SQL Developer | MySQL
- SEO建站优化教程,可视化SEO建站优化
热门文章
- 使用python愉快地做高数线代题目~
- 索引是建的越多越好吗?
- 2022-2028年中国物联网金融产业深度调研及投资前景预测报告
- linux中去掉^M的方法
- 正则表达式中的\.表示什么意思
- torch.nn.Linear()函数的理解
- Error: Module build failed: TypeError: this.getResolve is not a function at Object.loader
- LeetCode简单题之寻找数组的中心下标
- TVM,Relay,Pass
- 深度学习框架集成平台C++ Guide指南
- Hadoop(HDFS)文件读写机制