当前位置: 首页 > news >正文

HDFS分布式文件系统的架构及特点

一、HDFS架构

        HDFS采用的是主从(Master/Slave)架构,即一个HDFS通常是由一个Master和多个Slave组成。

  • Master为NameNode主要用于管理HDFS
  • Slave为DataNode主要用于存储文件
  • SecondaryNode用于辅助NameNode
HDFS架构

1.1Block

  • Block是HDFS文件系统中最小的存储单位,通常称为数据块。
  • 在HDFS文件系统中存储的文件会被拆分为多个Block,每个Block作为单独的单元进行存储,同一文件的多个Block通常存放在不同的DataNode。
  • 在Hadoop3.x版本中,Block的默认大小为128MB。

1.2MetaData

  • MetaNode用于记录HDFS文件系统的相关信息,这些信息称为元数据。
    • 元数据的内容包括文件系统的目录结构,文件名,文件路径,文件大小,文件副本数,文件与Block的映射关系以及Block与DataNode的映射关系等信息。
    • 为确保原数据的快速访问,元数据会保存在内存中。
  • 为防止原数据丢失,会在本地磁盘生成Fsimage文件以备份元数据。
  • 当部署的Hadoop集群初次启动前进行格式化HDFS时,会在本地磁盘的指定目录生成一个Fsimage文件,启动Hadoop集群时NameNode会将Fsimage文件加载到内存中。
  • Edits文件以追加的方式记录内存中元数据的每一次变化, 如果NameNode启机,那么可以通过合并Fsimage文件和Edits文件的方式恢复内存中存储的元数据。
    • 为避免Edits文件过大,NameNode会定期将Fsimage文件和Edits文件进行合并。
  • 包含内容:

    • 文件的名称

    • 文件的目录结构

    • 文件的属性(权限、副本数、创建时间)

    • 一个文件被对应切割哪些数据块(包含副本数的块)--> 对应分布在哪些datanode

  • 映射关系:blockmap(块映射)维护在内存中,nn是不会持久化存储这种映射关系。集群在启动和运行时,dn定期汇报blockreport给nn,然后在内存中动态维护这种映射关系。

1.3NameNode

  • HDFS的名称节点,也称为主节点。
    • 可管理文件系统的命名空间,例如打开文件、删除文件、重命名文件、创建目录等。
    • 处理客户端对文件的读写请求。
    • 维护HDFS的元数据。
    • 维护和管理DataNode,并协调DataNode为客户端发起的读写请求提供服务。

1.4DataNode

  • HDFS的数据节点,也称为从节点。
    • 存储Block。
    • 根据NameNode的指令对Block进行创建、复制、删除等操作。
    • 定期向NameNode汇报自身存储的Block列表及健康状态。
    • 负责为客户端发起的读写请求提供服务。

1.5SecondaryNode

  • HDFS的辅助节点。
    • 可定期从NameNode复制Fsimage文件和及合并Edits文件,并将合并结果发送给NameNode。
    • 是NameNode的冷备份,若NameNode无法使用时,可获取SecondaryNode保存的Fsimage文件和Edits文件,恢复NameNode的数据和运行状态。当NameNode宕机无法使用时,可以通过手动操作将SecondaryNameNode切换为NameNode。

描述:

  • SNN执行checkpoint动作时,NN会停止使用当前的edit文件515-516,暂时将读写操作记录到一个新的edit文件517中。
  • SNN将NN的fsimage 514和edits文件515-516远程下载到本地。
  • SNN将fsimage 514加载到内存中,将edits文件515-516内容在内存中完整执行一次,创建一个新的fsimage文件516。
  • SNN将新的fsimage 516推送给NN。
  • NN接受到fsimage 516.checkpoint滚动为fsimage 516,新的edit17.new文件滚动为edit517,为最新文件。

二、HDFS的特点

1.存储大文件

        支持GB甚至TB级别的文件存储。

2.高容错性

        HDFS的副本机制会为DataNode中的每个Block创建多个副本,如果某个DataNode启机,也可以从保存的Block副本的其他DataNode中读取相同的Block。

3.简单的一致性模型

        简单:易用且专注存储和管理数据。

        一致性:HDFS采用一次写入、多次读取的文件访问模型,且一个文件经过创建、写入、关闭后,只能追加,不能修改。也不支持并发多用户的写操作,保证数据最终一直,而不是实时。

4.移动计算比移动数据更经济

        就近原则。通过本地或边缘计算环境处理数据,资源效率高。可最大限度减少网络堵塞,增加系统整体吞吐量。

        运行时,将计算迁移到靠近数据的位置比将数据迁移到计算的位置更好。

5.可移植性

        可以在不同的平台使用。

相关文章:

  • DeepSeek-v1到DeepSeek-v3再到DeepSeek-R1的变迁和进化史,创新点,值得大家学习,DeepSeek系列干货
  • Windows之远程终端问题集锦(十二)
  • 基于Python+Vue开发的体育用品商城管理系统源码+开发文档+课程作业
  • SpringSecurity 实现token 认证
  • ExpMoveFreeHandles函数分析和备用空闲表的关系
  • IgH详解十八、支持 AoE 读写
  • 汽车小助手智能体
  • 6.7 数据库设计
  • 【FL0100】基于SSM微信小程序的走失人员的报备平台
  • rabbitmq单向ssl认证配置与最佳实践(适用于各大云厂商)
  • docker-compose Install MinerU 0.3 GPU模式
  • 大语言模型概念科普
  • Storm实时流式计算系统(全解)——中
  • Mixture of Experts与Meta Learning深度学习中的两大变革性技术
  • Android 图片压缩详解
  • 神经网络参数量计算
  • sql调优:优化响应时间(优化sql) ; 优化吞吐量
  • HumanPro逼真角色皮肤面部动画Blender插件V1.1版
  • 使用mermaid查看cursor程序生成的流程图
  • 大数据学习(51)-MySQL数据库学习
  • 河北沙河市建设局网站/网络营销策划方案模板范文
  • 宁波网站排名优化/网络营销好不好
  • 电脑网站和手机网站怎么做相同路径/百度关键词推广
  • 棠下网站建设/南京百度seo公司
  • 制作网站需要什么知识/站长工具seo综合查询降级
  • 免费自建网站步骤/网络营销费用预算