栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop 3.x|第六天|HDFS的读写流程

Hadoop 3.x|第六天|HDFS的读写流程

目录

写数据流程节点距离计算

定义图解 机架感知

源码地址 读数据流程

写数据流程
    客户端向NameNode请求上传文件NameNode首先检查是否可以上传文件:检查权限和目录结构,即文件是否存在。然后NameNode响应可以上传文件客户端请求上传block,请求NameNode返回DataNode。NameNode返回DataNode的节点,表示用这几个节点存储数据。客户端和第一个DataNode请求建立传输通道,然后第一个DataNode同第二个建立通道,第二个和第三个建立通道。客户端开始往 dn1 上传第一个 Block(先从磁盘读取数据放到一个本地内存缓存),以 Packet 为单位(64k),dn1 收到一个 Packet 就会传给 dn2,dn2 传给 dn3;dn1 每传一个 packet会放入一个应答队列等待应答。
节点距离计算

在HDFS写数据的过程中,NameNode会选择距离待上传数据最近距离的DataNode接收数据,所以需要知道最近距离的计算方式。

定义

两个节点到达最近的共同祖先的距离总和。

图解

机架感知

NN返回DN的选择优先级为:
(为了兼顾安全和效率)

    本地节点其他机架一个节点其他机架另一个节点
源码地址

查找 BlockPlacementPolicyDefault,在该类中查找 chooseTargetInOrder 方法。

读数据流程
    客户端请求下载文件NN判断权限和文件目录,然后返回目标文件的元数据(存储各个块的DN信息)客户端创建流获取数据,选择离节点最近的DN开始读取(仍以packet为单位),然后再读DN2,再读DN3,是串行式读取。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号