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

2021-11-07

2021-11-07

hdfs架构.读写流程
  • hdfs简介
  • hdfs组成
  • hdfs写流程

hdfs简介

Hadoop Distributed File System. 简称 HDFS,是一个分布式文件系统。
大数据基础文件系统,贯穿大数据始末.构成hadoop三大件之一.

hdfs组成

hdfs由三部分组成: NameNode(管理元数据),DataNode(存储数据块),SecondaryNameNode(诞生目的是协助NameNode管理元数据.协助fs和edits合并)

  1. NameNode: 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
  2. DataNode:在本地文件系统存储文件块数据,以及块数据的校验和。
  3. Secondary NameNode:每隔一段时间对NameNode元数据备份。
hdfs写流程

  1. 一个数据块需要上传,需要经过HDFSClient
  2. HDFSClient创建DistributedFileSystem(简称dfs)
  3. dfs 向 NameNode请求上传文件.
  4. NameNode检查用户权限,并查看目录是否存在等. 后发出相应通知dfs可以上传文件
  5. dfs接收到上传文件请求,开始向NameNode请求第一份block文件上传到哪里(上传到哪个DataNode).(hdfs文件系统中,数据文件存储方式以块来区分)
  6. NameNode根据自己规则找到要上传到DataNode节点.理论(本地节点一个,其他机架节点俩,实际不现实) ,返回dn1,dn2,dn3节点信息 机架选择-----后续分解
  7. dfs接收到数据节点信息创建FSDataOutputstream(fs).fs请求DataNode1(dn1)上传数据. dn1收到请求后会连接dn2,dn2会连接到dn3. dn1,dn2,dn3之间建立起管道连接.
  8. 客户端开始向dn1上传第一个block,(先从磁盘读取数据放到一个本地内存缓存),以packet(数据包)为单位,dn1收到数据包packet就会传给dn2,dn2传给dn3
  9. 第一个block传完之后上传第二个block
    packet 64kb
    block数据块: 这个是客户端进行切割,将meinv.av文件切割
    hadoop3以前切割成64m,hadoop3及其之后切割成128m 主要原因与存储制成工艺有关.
    目前固态读取速率很快,对于这种配置,可以将底层的数据块设置成256m,便于存储,减少小文件
    对于老式磁盘设置128m. 饱和读取速率

对于机架感知和读数据流程待后续…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/632780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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