HDFS-NameNode工作机制(三)滚动编辑日志+NameNode版本号

Posted on 2020-04-16 10:49  MissRong  阅读(449)  评论(0)    收藏  举报

一、滚动编辑日志

正常情况HDFS文件系统有更新操作时,就会滚动编辑日志。可以用命令强制滚动编辑日志。

1)滚动编辑日志(前提必须启动集群

[itstar@bigdata111 current]$ hdfs dfsadmin -rollEdits

举例:

原文件名edits_inprogress_0000000000000000321

执行以下命令后

[root@bigdata111 current]# hdfs dfsadmin -rollEdits

Successfully rolled edit logs.

New segment starts at txid 323

edits_inprogress_0000000000000000321 => edits_inprogress_0000000000000000323

2)镜像文件什么时候产生

Namenode启动时加载镜像文件和编辑日志

二、namenode版本号

1)查看namenode版本号

/opt/module/hadoop-2.8.4/data/dfs/name/current这个目录下查看VERSION

namespaceID=1778616660

clusterID=CID-bc165781-d10a-46b2-9b6f-3beb1d988fe0

cTime=1552918200296

storageType=NAME_NODE

blockpoolID=BP-274621862-192.168.1.111-1552918200296

layoutVersion=-63

2)namenode版本号具体解释

(1) namespaceID-namenode的ID号,在HDFS上,会有多个Namenode,所以不同Namenode的namespaceID是不同的,分别管理一组blockpoolID。

(2)clusterID集群id,全局唯一。

(3)cTime属性标记了namenode存储系统的创建时间,对于刚刚格式化的存储系统,这个属性为0;但是在文件系统升级之后,该值会更新到新的时间戳。

(4)storageType属性说明该存储目录包含的namenode的数据结构

(5)blockpoolID:一个block pool id标识一个block pool,并且是跨集群的全局唯一。当一个新的Namespace被创建的时候(format过程的一部分)会创建并持久化一个唯一ID。在创建过程构建全局唯一的BlockPoolID比人为的配置更可靠一些。NN将BlockPoolID持久化到磁盘中,在后续的启动过程中,会再次load并使用。

这个号和:cd /opt/module/hadoop-2.8.4/data/dfs/data/current/  目录下的目录名是统一的。

(6)layoutVersion是一个负整数。通常只有HDFS增加新特性时才会更新这个版本号。

(7)storageID (存储ID):是DataNode的ID,不唯一

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3