Hadoop NameNode元数据相关文件目录解析

Hadoop源码分析之NameNode元数据的存储 在对NameNode节点进行格式化时,调用了FSImage的saveFSImage()方法和FSEditLog.createEditLogFile()存储当前的元数据,启动NameNode节点时,又要从镜像和编辑日志中读取元数据。所以先分析FSImage是如何存储元数据到镜像文件和如何加载元数据到内存的。 存储元数据到镜像文件 在NameNode运行时会将内存中的元数据信息存储到所指定的文件, 阅读详情

在第一次部署好Hadoop集群的时候,我们需要在NameNode(NN)节点上格式化磁盘:

1 [wyp@wyp hadoop-2.2.0]$  $HADOOP_HOME/bin/hdfs namenode -format

  格式化完成之后,将会在$dfs.namenode.name.dir/current目录下如下的文件结构

1 current/
2 |-- VERSION
3 |-- edits_*
4 |-- fsimage_0000000000008547077
5 |-- fsimage_0000000000008547077.md5
6 `-- seen_txid

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

01 <property>
02   <name>dfs.namenode.name.dir</name>
03   <value>file://${hadoop.tmp.dir}/dfs/name</value>
04 </property>
05  
06 hadoop.tmp.dir是在core-site.xml中配置的,默认值如下
07 <property>
08   <name>hadoop.tmp.dir</name>
09   <value>/tmp/hadoop-${user.name}</value>
10   <description>A base for other temporary directories.</description>
11 </property>

  dfs.namenode.name.dir属性可以配置多个目录,如/data1/dfs/name,/data2/dfs/name,/data3/dfs/name,....。各个目录存储的文件结构和内容都完全一样,相当于备份,这样做的好处是当其中一个目录损坏了,也不会影响到Hadoop的元数据,特别是当其中一个目录是NFS(网络文件系统Network File System,NFS)之上,即使你这台机器损坏了,元数据也得到保存。
  下面对$dfs.namenode.name.dir/current/目录下的文件进行解释。
  1、VERSION文件是Java属性文件,内容大致如下:

1 #Fri Nov 15 19:47:46 CST 2013
2 namespaceID=934548976
3 clusterID=CID-cdff7d73-93cd-4783-9399-0a22e6dce196
4 cTime=0
5 storageType=NAME_NODE
6 blockpoolID=BP-893790215-192.168.24.72-1383809616115
7 layoutVersion=-47

其中
  (1)、namespaceID是文件系统的唯一标识符,在文件系统首次格式化之后生成的;
  (2)、storageType说明这个文件存储的是什么进程的数据结构信息(如果是DataNode,storageType=DATA_NODE);
  (3)、cTime表示NameNode存储时间的创建时间,由于我的NameNode没有更新过,所以这里的记录值为0,以后对NameNode升级之后,cTime将会记录更新时间戳;
  (4)、layoutVersion表示HDFS永久性数据结构的版本信息, 只要数据结构变更,版本号也要递减,此时的HDFS也需要升级,否则磁盘仍旧是使用旧版本的数据结构,这会导致新版本的NameNode无法使用;
  (5)、clusterID是系统生成或手动指定的集群ID,在-clusterid选项中可以使用它;如下说明

a、使用如下命令格式化一个Namenode:

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

选择一个唯一的cluster_id,并且这个cluster_id不能与环境中其他集群有冲突。如果没有提供cluster_id,则会自动生成一个唯一的ClusterID。

b、使用如下命令格式化其他Namenode:

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

c、升级集群至最新版本。在升级过程中需要提供一个ClusterID,例如:

1 $ $HADOOP_PREFIX_HOME/bin/hdfs start namenode       \
2           --config $HADOOP_CONF_DIR  -upgrade -clusterId <cluster_ID>

如果没有提供ClusterID,则会自动生成一个ClusterID。

  (6)、blockpoolID:是针对每一个Namespace所对应的blockpool的ID,上面的这个BP-893790215-192.168.24.72-1383809616115就是在我的ns1的namespace下的存储块池的ID,这个ID包括了其对应的NameNode节点的ip地址。
  
  2、$dfs.namenode.name.dir/current/seen_txid非常重要,是存放transactionId的文件,format之后是0,它代表的是namenode里面的edits_*文件的尾数,namenode重启的时候,会按照seen_txid的数字,循序从头跑edits_0000001~到seen_txid的数字。所以当你的hdfs发生异常重启的时候,一定要比对seen_txid内的数字是不是你edits最后的尾数,不然会发生建置namenode时metaData的资料有缺少,导致误删Datanode上多余Block的资讯。

  3、$dfs.namenode.name.dir/current目录下在format的同时也会生成fsimage和edits文件,及其对应的md5校验文件。fsimage和edits是Hadoop元数据相关的重要文件,我打算在下一篇文章中fsimage和edits存储的内容和他们之间的关系进行说明,请关注本博客。

Hadoop迁移namenode 由于集群中namenode节点的资源太小,想将其中一个datanode跟namenode互换。集群中还安装有hive,impala,主要修改两个地方: 1. namenode元数据 2. hive数据库 3. 将hadoop和hive的配置文件同步到impala 一、namenode元数据 NameNode主要被用来管理整个分布式文件系统的命名空间(是目录和文件)的元数据信息,同 阅读详情

相关推荐

hadoop中NameNode、DataNode、Secondary、NameNode、ResourceManager、NodeManager 介绍

1:NameNode 2:SecondNameNode 3:DataNode 4:ResourceManager 5:NodeManager ----------------------------------------------------------------------------------------------------------------------------...

FREEDOM 1937

【Hadoop源码】一篇文章带你熟悉解读 Namenode启动加载FsImage的过程

NameNode是HDFS中负责元数据管理的组件,它保存着整个文件系统的元数据信息,并且充当着指挥调度DataNode的作用。NameNode不仅在内存中保存着文件系统元数据信息,还会定期将文件系统的元数据(文件目录树、文件/ 目录元信息) 持久化到本地 fsImage 文件中, 以防止Namenode掉电或者进程异常崩溃。 如果Namenode实时地将内存中的元数据同步到fsimage文件中, 将会非常消耗资源且造成Namenode运行缓慢。 所以Namenode会先将元数据的修改操作保存在editlog

如切如磋,如琢如磨,臻于至善。 1354

写一个b站爬虫(思路)

part 0 安装 scrapy, requests part 1 信息获取 打开番剧索引链接(https://www.bilibili.com/anime/index/) F12控制台,选中NETWORK,来到xhr文件,我们可以找到了存放番剧json的地方

kou的博客 484

八、NameNode多目录配置

我这里演示的是已经使用的集群,所以需要删除data与log文件;如果是初次配置集群不用。 为什么要配置多目录? NameNode的本地目录配置成多个,且每个目录存放内容相同,增加了可靠性。 具体配置调整如下: (1)在hdfs-site.xml文件中增加如下内容 <property> <name>dfs.namenode.name.dir</name>...

风子的博客 624

从零到一:STM32CubeMX虚拟串口开发中的常见陷阱与优化策略

本文深入探讨了STM32CubeMX在USB虚拟串口开发中的常见问题与优化策略,涵盖数据流吞吐量瓶颈、实时性约束等核心挑战。通过实战案例和代码示例,详细解析了波特率同步异常、数据丢失等问题的解决方案,并提供了DMA配置和中断优先级调优的高级技巧,帮助开发者提升STM32虚拟串口的性能和可靠性。

weixin_29164185的博客 370

KEIL-MDK代码美化神器:AStyle配置全攻略(附常用参数详解)

本文详细介绍了如何在KEIL-MDK中配置和使用AStyle代码格式化工具,包括基础参数设置、高级格式控制、团队协作方案以及KEIL深度集成技巧。通过合理的AStyle配置,开发者可以显著提升代码风格一致性,优化团队协作效率,特别适合嵌入式开发项目。

weixin_30505225的博客 146

Hadoop深入学习:HDFS主要流程——NameNode节点上的文件和目录操作

上节中我们已经学习了HDFS的体系结构及其优缺点,本节我们将着重学习HDFS的几个主要流程。 [color=blue][b]客户端在NameNode上的文件与目录操作[/b][/color] [b]创建文件目录[/b] 客户端命令:[code="java"] hadoop fs -mkd...

飞翔的荷兰人 494

数字IC笔记-逻辑单元库和库文件

逻辑单元库的建立: 一个完整的单元库是由不同的功能电路所组成,在芯片应用中可分为三类: 标准单元:反相器、与门、寄存器、选择器、全加器。组合逻辑电路和时序逻辑电路。互补,反向,非反向,其他。锁存器、寄存器。 模块宏单元:ROM、RAM 输入输出单元 库文件: 在逻辑综合产生门级网表和物理设计做布局布线的过程中需要两个重要的库文件,就是物理库(lef)和时序库(lib) 1.物理库LEF文件 LEF是版图级的抽象文件,主要用于布局和布线。目前普遍使用的是由Candence开发的LEF文件格式,以le

sinat_41774721的博客 9141

Hadoop生态圈(十三)- Namenode元数据管理及各组件工作机制

Namenode元数据管理,namenode和SecondaryNamenode工作机制,DataNode工作机制,DataNode数据完整性,DataNode掉线时限参数设置,Namenode元数据恢复,SecondaryNamenode checkpoint机制,fsimage内存镜像文件,Edits log编辑日志,Namenode存储多目录,元数据管理相关目录文件,内存元数据,磁盘元数据

程序园@大Null 3795

保姆级教程:用MATLAB搞定运动模糊图片修复(附完整代码与避坑指南)

本文提供了一份详细的MATLAB运动模糊图片修复教程,涵盖盲复原、图像复原等核心技术。通过傅里叶变换和Radon变换分析模糊参数,对比逆滤波、维纳滤波和Lucy-Richardson算法效果,并附完整代码与避坑指南,帮助用户实现专业级图像处理。

weixin_26765363的博客 228

【Excel VBA 编程】批量核对两张表格数据,行和列显示顺序均被打乱

利用数据字典在 Excel 中进行表格数据的核对,该表格含有多行多列,并且行和列顺序是打乱的,批量核对数据后将差异输出

wei1019的专栏 1291

转载-Hadoop NameNode元数据相关文件目录解析

在第一次部署好Hadoop集群的时候,我们需要在NameNode(NN)节点上格式化磁盘:[wyp@wyp hadoop-2.2.0]$ $HADOOP_HOME/bin/hdfs namenode -format格式化完成之后,将会在$dfs.namenode.name.dir/current目录下如下的文件结构 current/ |– VERSION |–

haoran_gao的博客 639

系规备考论文:论IT服务规划设计

系规备考论文:论IT服务规划设计

liuxu324的博客 1144

【总结】Hadoop NameNode元数据相关文件目录解析

原文:https://www.iteblog.com/archives/967.html 在第一次部署好Hadoop集群的时候,我们需要在NameNode(NN)节点上格式化磁盘: [wyp@wyp hadoop-2.2.0]$  $HADOOP_HOME/bin/hdfs namenode -format   格式化完成

一寒惊鸿 2万+

MTK(camera篇)Camera整体点亮

本文介绍了在MTK平台上添加新Camera Sensor的驱动开发流程。主要内容包括:1)MTK Camera采用HAL3架构,驱动层主要负责sensor电源控制和寄存器操作;2)详细说明了添加新sensor需要在多个文件中进行的修改,包括设备树配置、内核头文件、驱动列表、电源序列等;3)特别指出需要配置I2C地址表,并导入tuning文件和metadata文件以完善ISP处理流程。文章提供了完整的文件修改清单,涵盖了从内核层到HAL层的完整开发过程,为MTK平台Camera Sensor驱动开发提供了具体

weixin_49303682的博客 360

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Hadoop之NameNode元数据相关文件目录解析

下面所有的内容是针对Hadoop 2.x版本进行说明的,Hadoop 1.x和这里有点不一样。在第一次部署好Hadoop集群的时候,我们需要在NameNode(NN)节点上格式化磁盘:ubuntu@ubuntuhadoop-2.2.0]$$HADOOP_HOME/bin/hdfsnamenode-format格式化完成之后,将会在$dfs....

weixin_33896726的博客 140

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Hadoop中fsimage和edits合并问题

Hadoop 2.x中fsimage和edits合并实现 Hadoop 1.x中fsimage和edits合并实现 Hadoop NameNode元数据相关文件目录解析 Hadoop文件系统元数据fsimage和编辑日志edits

cloud-2014的专栏 828

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Hadoop文件系统元数据fsimage和编辑日志edits

在《Hadoop NameNode元数据相关文件目录解析》文章中提到NameNode的$dfs.namenode.name.dir/current/文件夹的几个文件: 1 current/ 2 |-- VERSION 3 |-- edits_*

发展是曲折的但也是前进的 1675

Namenode 元数据管理

在HDFS中文件相关元数据具有两种类型文件自身属性信息文件名称、权限,修改时间,文件大小,复制因子,数据块大小。文件块位置映射信息记录文件块和DataNode之间的映射信息,即哪个块位于哪个节点上。按存储形式分为内存元数据和元数据文件两种,分别存在内存和磁盘上。

金州饿霸吃不饱的博客 1016

namenode维护元数据

一、NameNode启动时如何维护元数据: 1、概念介绍: Edits文件: 编辑日志的作用 编辑日志是记录对文件或者目录的修改信息,比如删除目录,修改文件等信息。编辑日志一般命名规则是“edits_*”,它在NameNode启动后,记录对文件系统的改动序列。 edits文件存放的是hadoop文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到edits文件中。 FsIma...

LALALA3_3的博客 3323
上一篇: Hadoop文件系统元数据fsimage和编辑日志edits
下一篇: hadoop dfsadmin
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值