【Hadoop生态】HDFS的元数据管理机制二

简介: 【Hadoop生态】HDFS的元数据管理机制二

# 1. 元数据目录相关文件

在Hadoop的HDFS首次部署好配置文件之后,并不能马上启动使用,而是先要对文件系统进行格式化。需要在NameNode(NN)节点上进行如下的操作:

```bash

$HADOOP_HOME/bin/hdfs namenode –format

```

在这里要注意两个概念,一个是文件系统,此时的文件系统在物理上还不存在;二就是此处的格式化并不是指传统意义上的本地磁盘格式化,而是一些==清除与准备工作==。

格式化完成之后,将会在$dfs.namenode.name.dir/current目录下创建如下的文件结构,这个目录也正是namenode元数据相关的文件目录:

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/7ab7ca0689c845aabe0f0cef790afc7f.jpeg#pic_center)


其中的dfs.namenode.name.dir是在hdfs-site.xml文件中配置的,默认值如下:

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/6a4ad06a555e4585937132f55bda433f.jpeg#pic_center)


dfs.namenode.name.dir属性可以配置多个目录,各个目录存储的文件结构和内容都完全一样,相当于==备份==,这样做的好处是当其中一个目录损坏了,也不会影响到Hadoop的元数据,特别是当其中一个目录是NFS(网络文件系统Network File System,NFS)之上,即使你这台机器损坏了,元数据也得到保存。

下面对$dfs.namenode.name.dir/current/目录下的文件进行解释。



<font color=red size=5>VERSION</font>

>namespaceID=934548976

clusterID=CID-cdff7d73-93cd-4783-9399-0a22e6dce196

cTime=0

storageType=NAME_NODE

blockpoolID=BP-893790215-192.168.24.72-1383809616115

layoutVersion=-47


namespaceID/clusterID/blockpoolID 这些都是HDFS集群的唯一标识符。标识符被用来防止DataNodes意外注册到另一个集群中的namenode上。这些标识在联邦(federation)部署中特别重要。联邦模式下,会有多个NameNode独立工作。每个的NameNode提供唯一的命名空间(namespaceID),并管理一组唯一的文件块池(blockpoolID)。clusterID将整个集群结合在一起作为单个逻辑单元,在集群中的所有节点上都是一样的。

storageType说明这个文件存储的是什么进程的数据结构信息(如果是DataNode,storageType=DATA_NODE);

cTime NameNode存储系统创建时间,首次格式化文件系统这个属性是0,当文件系统升级之后,该值会更新到升级之后的时间戳;

layoutVersion表示HDFS永久性数据结构的版本信息,是一个负整数。

补充说明:

格式化集群的时候,可以指定集群的cluster_id,但是不能与环境中其他集群有冲突。如果没有提供cluster_id,则会自动生成一个唯一的ClusterID。

```bash

$HADOOP_HOME/bin/hdfs namenode -format -clusterId <cluster_id>

```

<font color=red size=5>seen_txid</font>

>$dfs.namenode.name.dir/current/seen_txid非常重要,是存放transactionId的文件,format之后是0,它代表的是namenode里面的edits_*文件的尾数,namenode重启的时候,会按照seen_txid的数字,循序从头跑edits_0000001~到seen_txid的数字。所以当你的hdfs发生异常重启的时候,一定要比对seen_txid内的数字是不是你edits最后的尾数。

Fsimage & edits

$dfs.namenode.name.dir/current目录下在format的同时也会生成fsimage和edits文件,及其对应的md5校验文件。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
目录
相关文章
|
存储 分布式计算 资源调度
41 Hadoop的HA机制
41 Hadoop的HA机制
194 0
41 Hadoop的HA机制
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
306 2
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
333 1
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
355 1
|
存储 分布式计算 监控
Hadoop性能优化元数据开销
【6月更文挑战第5天】
261 4
|
分布式计算 资源调度 监控
Hadoop性能优化优化元数据管理
【6月更文挑战第6天】
237 2
|
存储 分布式计算 Hadoop
Hadoop节点HDFS元数据与数据块的关系
【5月更文挑战第19天】
678 4
|
存储 分布式计算 大数据
【大数据技术Hadoop+Spark】Spark RDD设计、运行原理、运行流程、容错机制讲解(图文解释)
【大数据技术Hadoop+Spark】Spark RDD设计、运行原理、运行流程、容错机制讲解(图文解释)
1253 0
|
存储 分布式计算 安全
Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
880 0
Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
|
机器学习/深度学习 存储 分布式计算
HDFS元数据管理二
HDFS元数据管理二
270 0
HDFS元数据管理二

相关实验场景

更多