HDFS读写数据流程
1. HDFS读数据流程
1、与NameNode通信查询元数据,找到文件块所在的DataNode服务器
2、挑选一台DataNode(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode)服务器,请求建立socket流
3、DataNode开始发送数据(从磁盘里面读取数据放入流,以packet(一个packet为64kb)为单位来做校验)
4、客户端以packet为单位接收,先在本地缓存,然后写入目标文件
流程如下:
2. HDFS写数据流程
1、跟NameNode通信请求上传文件,NameNode检查目标文件是否已经存在,父目录是否已经存在
2、NameNode返回是否可以上传
3、Client先对文件进行切分,请求第一个block该传输到哪些DataNode服务器上
4、NameNode返回3个DataNode服务器DataNode 1,DataNode 2,DataNode 3
5、Client请求3台中的一台DataNode 1(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode)上传数据(本质上是一个RPC调用,建立pipeline),DataNode 1收到请求会继续调用DataNode 2,然后DataNode 2调用DataNode 3,将整个pipeline建立完成,然后逐级返回客户端
6、Client开始往DataNode 1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以pocket为单位。写入的时候DataNode会进行数据校验,它并不是通过一个packet进行一次校验而是以chunk为单位进行校验(512byte)。DataNode 1收到一个packet就会传给DataNode 2,DataNode 2传给DataNode 3,DataNode 1每传一个pocket会放入一个应答队列等待应答
7、当一个block传输完成之后,Client再次请求NameNode上传第二个block的服务器.
流程如下:
HDFS读写数据流程相关推荐
- Hadoop之HDFS读写数据流程
Hadoop之HDFS读写数据流程 目录 HDFS写数据流程 HDFS读数据流程 网络拓扑概念 机架感知 1. HDFS写数据流程 HDFS写数据流程,如下图 客户端通过Distributed Fil ...
- HDFS读写数据的原理
目录 1 概述 2 HDFS写数据流程 3 HDFS读数据流程 目录 最近由于要准备面试,就把之前学过的东西好好整理下,权当是复习. 下面说下HDFS读写数据的原理. 1 概述 HDFS集群分为两大角 ...
- hadoop--HDFS的读写数据流程
目录 HDFS中block.packet.chunk的概念 1. 数据块block 2. packet 3. chunk HDFS读数据流程 HDFS写数据流程 HDFS中block.packet.c ...
- HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)
4.hdfs的工作机制 (工作机制的学习主要是为加深对分布式系统的理解,以及增强遇到各种问题时的分析解决能力,形成一定的集群运维能力) 注:很多不是真正理解hadoop技术体系的人会常常觉得HDF ...
- 服务端设置忽略更新_深入理解Kafka服务端之日志对象的读写数据流程
一.场景分析 在前面几篇分析过,Log类用于管理服务端日志相关的各种操作,如: 日志段管理:滚动生成新日志段.组织并管理分区下的所有日志段等 关键偏移量管理:如LogStartOffset.LEO等 ...
- hbase读写数据流程
1.hbase写数据速度极高,吞吐量极大,主要归因于写入数据是先写入memstore内存的操作(当然这里还有wal顺序写日志防止机器崩溃),只有等到内存满了.才会批量顺序flush数据到磁盘,这样就避 ...
- hdfs写数据流程分析
- 图解Hadoop hdfs写数据流程
- hdfs读写流程_必须掌握的分布式文件存储系统—HDFS
必须掌握的分布式文件存储系统-HDFSmp.weixin.qq.com HDFS(Hadoop Distributed File System)分布式文件存储系统,主要为各类分布式计算框架如Spar ...
最新文章
- Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
- Vue计算属性、方法、侦听器
- MySQL根据员工姓名所在部门_用一条SQL语句显示所有人员的姓名及所在部门
- PinSAGE有伴了! 快速了解PinnerSAGE模型
- mac 更换默认蓝牙适配器_聊一聊蓝牙名字和地址的来龙去脉
- 软件设计师历年真题(链接在文末)
- pyTecplot 学习使用
- 鼠标键盘录制工具 脚本录制器 游戏脚本录制工具
- 微波射频学习笔记2--------传输线理论
- java双重循环去重_java 中 list集合去重
- Linux网络操作系统及应用教程(项目式)项目三
- mac 如何安装 wget
- 简单管理Android手机程序的小程序
- 卡西欧计算机十进制换二进制,卡西欧计算机怎么把十进制转换二进制
- 机器学习分析租房价格的影响因素
- 【2021-11】4 个 Anaconda 国内开源镜像站
- 技术大佬:我去,你写的 switch 语句也太老土了吧
- 电商收付通系列⑤,商户进件之二级商户进件申请
- JAVA中native方法(实现例子)
- 服务器项目报备什么意思,报备项目是什么意思