the site subtitle

DataNode的版本号

2019.02.04

和namenode不同的是,datanode的存储目录是初始阶段自动创建的,不需要额外格式化。

查看DataNode版本号

DataNode版本号位置

/data/tmp/dfs/data/current这个目录下查看版本号VERSION

storageID=DS-1b998a1d-71a3-43d5-82dc-c0ff3294921b
clusterID=CID-1f2bf8d1-5ad2-4202-af1c-6713ab381175
cTime=0
datanodeUuid=970b2daf-63b8-4e17-a514-d81741392165
storageType=DATA_NODE
layoutVersion=-56

DataNode版本号具体解释

  • storageID:存储id号
  • clusterID集群id,全局唯一
  • cTime属性标记了datanode存储系统的创建时间,对于刚刚格式化的存储系统,这个属性为0;但是在文件系统升级之后,该值会更新到新的时间戳。
  • datanodeUuid:datanode的唯一识别码
  • storageType:存储类型
  • layoutVersion是一个负整数。通常只有HDFS增加新特性时才会更新这个版本号。

查看数据块版本号

数据块版本号位置

/data/tmp/dfs/data/current/BP-97847618-192.168.10.102-1493726072779/current这个目录下查看该数据块的版本号VERSION

#Mon May 08 16:30:19 CST 2017
namespaceID=1933630176
cTime=0
blockpoolID=BP-97847618-192.168.10.102-1493726072779
layoutVersion=-56

数据块版本号具体解释

  • namespaceID:是datanode首次访问namenode的时候从namenode处获取的storageID对每个datanode来说是唯一的(但对于单个datanode中所有存储目录来说则是相同的),namenode可用这个属性来区分不同datanode。
  • cTime属性标记了datanode存储系统的创建时间,对于刚刚格式化的存储系统,这个属性为0;但是在文件系统升级之后,该值会更新到新的时间戳。
  • blockpoolID:一个block pool id标识一个block pool,并且是跨集群的全局唯一。当一个新的Namespace被创建的时候(format过程的一部分)会创建并持久化一个唯一ID。在创建过程构建全局唯一的BlockPoolID比人为的配置更可靠一些。NN将BlockPoolID持久化到磁盘中,在后续的启动过程中,会再次load并使用。
  • layoutVersion是一个负整数。通常只有HDFS增加新特性时才会更新这个版本号。