HDFS的元信息

Posted IT悦读会

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS的元信息相关的知识,希望对你有一定的参考价值。

HDFS 元数据,按类型分,主要包括以下几个部分:

  1. 文件、目录自身的属性信息,例如文件名,目录名,修改信息等。

  2. 文件记录的信息的存储相关的信息,例如存储块信息,分块情况,副本个数等。

  3. 记录 HDFS 的 Datanode 的信息,用于 DataNode 的管理。


HDFS 磁盘上元数据文件分为两类,用于持久化存储:

  • fsimage 镜像文件:是元数据的一个持久化的检查点,包含 Hadoop 文件系统中的所有 目录和文件元数据信息,但不包含文件块位置的信息。文件块位置信息只存储在内存中,是 在 datanode 加入集群的时候,namenode 询问 datanode 得到的,并且间断的更新。

  • Edits 编辑日志:存放的是 Hadoop 文件系统的所有更改操作(文件创建,删除或修改) 的日志,文件系统客户端执行的更改操作首先会被记录到 edits 文件中。


fsimage 和 edits 文件都是经过序列化的,在 NameNode 启动的时候,它会将 fsimage 文件中的内容加载到内存中,之后再执行 edits 文件中的各项操作,使得内存中的元数据和 实际的同步,存在内存中的元数据支持客户端的读操作,也是最完整的元数据。 当客户端对 HDFS 中的文件进行新增或者修改操作,操作记录首先被记入 edits 日志文 件中,


当客户端操作成功后,相应的元数据会更新到内存元数据中。因为 fsimage 文件一般 都很大(GB 级别的很常见),如果所有的更新操作都往 fsimage 文件中添加,这样会导致系 统运行的十分缓慢。 HDFS 这种设计实现着手于:一是内存中数据更新、查询快,极大缩短了操作响应时间; 二是内存中元数据丢失风险颇高(断电等),因此辅佐元数据镜像文件(fsimage)+编辑日 志文件(edits)的备份机制进行确保元数据的安全。 NameNode 维护整个文件系统元数据。因此,元数据的准确管理,影响着 HDFS 提供文件 存储服务的能力。


以上是关于HDFS的元信息的主要内容,如果未能解决你的问题,请参考以下文章

HDFS成员的工作机制

HDFS(NameNode)的联盟:Federation

HDFS读写流程

Namenode的元数据存储

漫谈未来的HDFS

漫谈未来的HDFS