0
点赞
收藏
分享

微信扫一扫

DataNode的目录结构

Separes 2022-02-24 阅读 69


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

  1. 在/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current
    ​ cat VERSION #Tue Nov 06 05:43:25 CST 2018 storageID=DS-6d013652-f213-4118-9e89-e53d7ab028c9 clusterID=CID-6f007c44-5418-431f-898d-f72631c4b7ba cTime=0 datanodeUuid=fbf8675e-abcb-48ea-9bff-278d8c89831e storageType=DATA_NODE layoutVersion=-56 (1)storageID:存储 id 号 (2)clusterID 集群 id,全局唯一 (3)cTime 属性标记了 datanode 存储系统的创建时间,对于刚刚格式化的存储系统,这个属性为 0;但是在文件系统升级之后,该值会更新到新的时间戳。 (4)datanodeUuid:datanode 的唯一识别码 (5)storageType:存储类型 (6)layoutVersion 是一个负整数。通常只有 HDFS 增加新 特性时才会更新这个版本号。 /opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-2057549969-192.168.18.50-1541454133515/current ​​查看数据块的版本号
    ​ [root@testnote01 current]# cat VERSION #Tue Nov 06 05:43:25 CST 2018 namespaceID=562825234 cTime=0 blockpoolID=BP-2057549969-192.168.18.50-1541454133515 layoutVersion=-56 ​

(1)namespaceID:是 datanode 首次访问 namenode 的时候从 namenode 处获取的

storageID 对每个 datanode 来说是唯一的(但对于单个 datanode 中所有存储目录来说则

是相同的),namenode 可用这个属性来区分不同 datanode。

(2)cTime 属性标记了 datanode 存储系统的创建时间,对于刚刚格式化的存储系

统,这个属性为 0;但是在文件系统升级之后,该值会更新到新的时间戳。

(3)blockpoolID:一个 block pool id 标识一个 block pool,并且是跨集群的

全局唯一。当一个新的 Namespace 被创建的时候(format 过程的一部分)会创建并持

久化一个唯一 ID。在创建过程构建全局唯一的 BlockPoolID 比人为的配置更可靠一些。

NN 将 BlockPoolID 持久化到磁盘中,在后续的启动过程中,会再次 load 并使用

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

版本号。

Datanode的多目录配置:

1)datanode也可以配置多个目录,每个目录存储的数据不一样,数据不是副本

和namenode一样停止所有进程

删除data和logs目录

修改配置文件hdfs-site.xml

<property>
<name>dfs.datanode.data.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2</value>
</property>

启动集群

上传文件

hdfs fs -put 文件名 /

DataNode的目录结构_hadoop

两个目录存储不一样,和namenode机制不同



举报

相关推荐

0 条评论