Namenode,Datanode,SecondaryNamenode的文件结构

NameNode

1.NameNode的文件结构

这里写图片描述
//中间省略很多行
这里写图片描述

分析:从上图可以看出,NameNode的文件结构包含edits、fsimage、seen_txid、VERSION

edits

  • 编辑日志(edit log):当客户端执行写操作时,首先NameNode会在编辑日志中写下记录,并在内存中保存一个文件系统元数据,这个描述符会在编辑日志改动之后更新。

    所有对HDFS的写操作都会记录在此文件中

simage

  • 文件系统镜像(fsimage):文件系统元数据的持久检查点,包含以序列化格式存储的文件系统目录和文件inodes,每个inodes表征一个文件或目录的元数据信息以及文件的副本数、修改和访问时间等信息。

een_txid

  • seen_txid是存放transactionId的文件,format之后是0,它代表的是namenode里面的edits_*文件的尾数,namenode重启的时候,会按照seen_txid的数字,循序从头跑edits_0000001~到seen_txid的数字。

  • 当hdfs发生异常重启的时候,一定要比对seen_txid内的数字是不是你edits最后的尾数,不然会发生建置namenode时metaData的资料有缺少,导致误删Datanode上多余Block的资讯。

VERSION

  • VERSION文件是java属性文件,保存了HDFS的版本号。
    Namenode,Datanode,SecondaryNamenode的文件结构_第1张图片
• namespaceID是文件系统的唯一标识符,是在文件系统初次格式化时生成的。
• clusterID是系统生成或手动指定的集群ID
• cTime表示NameNode存储时间的创建时间,升级后会更新该值。
• storageType表示此文件夹中保存的是元数据节点的数据结构。
• blockpoolID:针对每一个Namespace所对应blockpool的ID,该ID包括了其对应的NameNode节点的ip地址。
• layoutVersion是一个负整数,保存了HDFS的持续化在硬盘上的数据结构的格式版本号。

SecondaryNameNode的文件结构

这里写图片描述

分析:从上图可以看出,SecondaryNameNode主要包括edits、fsimage、VERSION

DataNode的文件结构

这里写图片描述

分析:从上图可以看出,.DataNode的文件结构主要由blk_前缀文件、BP-random integer-NameNode-IP address-creation time和VERSION构成。




















你可能感兴趣的:(linux系统,Hadoop)