Hadoop节点HDFS元数据与数据块的关系

简介: 【5月更文挑战第19天】

image.png
Hadoop中HDFS(Hadoop Distributed File System)的元数据与数据块之间的关系是HDFS架构的核心部分。以下是关于HDFS元数据与数据块关系的详细解释:

  1. 元数据(Metadata)
* 元数据是关于文件或目录的描述信息,如文件所在路径、文件名称、文件类型、生成时间、权限等。
* 在HDFS中,元数据主要由NameNode(元数据节点)进行管理。NameNode保存了整个文件系统的目录树结构,包括所有的文件和目录的元数据。
* 元数据以两种形式存在:
    + 内存:NameNode在内存中维护集群数据的最新信息,包括文件的元数据和数据块与数据节点的映射关系。
    + 磁盘:通过FsImage(文件系统元数据镜像文件)和Edits Log(编辑日志文件)对内存中的信息进行持久化。FsImage保存了文件系统目录树信息以及文件、块、DataNode的映射关系;Edits Log则记录了客户端对HDFS的所有更改记录,如增、删、重命名文件(目录)等操作。
  1. 数据块(Block)
* HDFS默认的最基本的存储单位是64MB的数据块(block)。文件在HDFS中是以数据块的形式进行存储的。
* 如果一个文件小于一个数据块的大小,它并不会占用整个数据块的存储空间。
* 每个数据块会额外复制2份(默认为3份),用于冗余备份和容灾。这些副本可能分布在不同的DataNode上。
  1. 元数据与数据块的关系
* NameNode维护了文件系统的元数据,包括每个文件对应的数据块列表。这些数据块列表记录了文件被分割成的数据块以及这些数据块所在的DataNode。
* 当客户端需要读取或写入文件时,它会与NameNode进行交互,获取文件的数据块列表和对应的DataNode信息,然后直接与DataNode进行数据传输。
* DataNode会周期性地向NameNode报告其存储的数据块信息,确保NameNode中的元数据是最新的。

总结来说,HDFS的元数据与数据块之间的关系是:元数据描述了文件或目录的属性以及它们与数据块之间的映射关系,而数据块则是文件在HDFS中的实际存储形式。NameNode负责维护和管理这些元数据,而DataNode则负责存储数据块并提供数据的读写服务。

目录
相关文章
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
1448 70
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
832 6
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
398 0
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
247 0
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
314 0
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
252 3
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
338 5
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
217 4
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
590 5
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
309 4

相关实验场景

更多