1、在HDFS中,fsimage和eidts是NameNode两个非常重要的文件。
其中,fsimage是HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息;而edits保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等等。
2、在NameNode启动时候,会先将fsimage中的文件系统元数据信息加载到内存,然后根据eidts中的记录将内存中的元数据同步至最新状态;所以,这两个文件一旦损坏或丢失,将导致整个HDFS文件系统不可用。这两种文件存放在${dfs.namenode.name.dir}/current/目录下,文件名以edits_和fsimage_命名,该目录为NameNode上的本地目录。
3、为了保证这两种元数据文件的高可用性,一般的做法,将dfs.namenode.name.dir设置成以逗号分隔的多个目录,这多个目录至少不要在一块磁盘上,最好放在不同的机器上,比如:挂载一个共享文件系统。
4、类似于数据库中的检查点,为了避免edits日志过大,在Hadoop1.X中,SecondaryNameNode会按照时间阈值(比如24小时)或者edits大小阈值(比如1G)周期性的将fsimage和edits的合并,然后将最新的fsimage推送给NameNode。而在Hadoop2.X中,这个动作是由Standby NameNode来完成。
5、由于这两种文件时经过序列化的,非文本的,因此无法直接查看,Hadoop2.X中,hdfs提供了查看这两种文件的工具:
查看fsimage:
命令hdfs oiv用于将fsimage文件转换成其他格式的,如文本文件、XML文件。该命令需要以下参数:
必须参数:
-i,–inputFile <arg> 输入FSImage文件.
-o,–outputFile <arg> 输出转换后的文件,如果存在,则会覆盖
可选参数:
-p,–processor <arg> 将FSImage文件转换成哪种格式: (Ls|XML|FileDistribution).默认为Ls.
-h,–help 显示帮助信息
hdfs oiv -i /data1/hadoop/dfs/name/current/fsimage_0000000000019372521 -o /home/hadoop/fsimage.txt
执行后查看more /home/Hadoop/fsimage.txt
查看eidts:
命令hdfs oev用于查看edits文件。
该命令需要以下参数:
必须参数:
-i,–inputFile <arg> 输入edits文件,如果是xml后缀,表示XML格式,其他表示二进制。
-o,–outputFile <arg> 输出文件,如果存在,则会覆盖。
可选参数:
-p,–processor <arg> 指定转换类型: binary (二进制格式), xml (默认,XML格式),stats (打印edits文件的静态统计信息)
-h,–help 显示帮助信息
-f,–fix-txids 重置输入edits文件中的transaction IDs
-r,–recover 使用recovery模式,跳过eidts中的错误记录。
-v,–verbose 打印处理时候的输出。
例子:
hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.xml
相关推荐
Prometheus Hadoop HDFS FSImage导出器 | 将Hadoop HDFS统计信息导出到包括 总数/每个用户/每个组/每个配置的目录路径/每个路径集 目录数 文件数 文件大小和大小分布(可选) 块数 文件复制(总体/每个用户摘要)...
### Hadoop HDFS配置详解 #### 一、概述 在大数据处理领域,Hadoop作为一款开源软件框架,被广泛应用于分布式存储与计算。Hadoop Distributed File System (HDFS)是Hadoop的核心组件之一,用于存储大规模数据集。...
Hadoop HDFS-site 配置文件是 Hadoop 分布式文件系统(HDFS)的核心配置文件,用于存储和管理 HDFS 集群的配置信息。在本文中,我们将详细介绍 HDFS-site 配置文件的各个部分,并对每个配置项进行解释。 HDFS 超级...
### Hadoop HDFS知识点解析 #### 一、HDFS产出背景及定义 随着信息技术的快速发展,数据量呈现出爆炸性增长的趋势。传统的数据存储方法已经难以满足海量数据的存储需求。在这种背景下,分布式文件系统...
概述:HDFS(Hadoop Distributed File System)是Hadoop生态系统中的核心组件,作为分布式文件系统,HDFS提供了高容错、可扩展、可靠的存储解决方案,广泛应用于大数据处理和分析领域。 技术特点: 1. 分布式文件...
* 定期合并fsimage和edits,并推送给NameNode。 * 执行合并时机。 * 根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒。 * 根据配置文件设置edits log大小fs.checkpoint.size规定edits文件的最大值默认是...
为了提高NameNode的可靠性和性能,Hadoop引入了Secondary NameNode的概念。它并不直接参与HDFS的日常读写操作,而是定期与主NameNode通信,帮助主NameNode进行元数据的持久化和检查点操作。 - **第一阶段:NameNode...
理解HDFS的架构和工作原理对于深入学习Hadoop和大数据处理至关重要,它是构建大数据解决方案的基石。在实践中,根据具体场景调整HDFS的配置参数,如数据块大小、副本数量、磁盘目录策略等,能够进一步优化性能和可靠...
支持对HDFS数据文件以及用户和组目录的概述进行概述(回答“谁拥有多少个/大/小文件...”) 一个用于从派生的用于快速和部分多线程的fsimage处理API文件,目录和符号链接访问者的) 库的用法示例 有关示例用法,请...
Hadoop的两个核心组件是HDFS(Hadoop Distributed File System)和MapReduce,其中HDFS负责存储,MapReduce负责处理。Hadoop作为一个框架,能够运行在廉价硬件上,提供高吞吐量的数据访问,使得数据存储和处理变得...
"Hadoop之hdfs架构详解共2页.pdf.zip" 暗示文档内容可能简洁而精炼,聚焦在HDFS的架构上,包括但不限于NameNode、DataNode、Secondary NameNode等关键组件的功能与交互,以及HDFS如何实现数据的高可用性和容错性。...
Hadoop HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件之一,是一个分布式文件系统,专门设计用于处理和存储海量数据。HDFS具有高容错性和高可扩展性,能够在一个硬件集群上无缝地运行。 ##...
### Hadoop存储系统HDFS的文件分块存储 #### HDFS文件分块机制 Hadoop分布式文件系统(HDFS)是一种专为存储大型文件而设计的文件系统,它能够高效地处理海量数据。HDFS的基本设计理念之一就是将文件分割成多个块...
- **Secondary NameNode**:辅助NameNode,执行合并fsimage和edits日志文件等任务,减少NameNode启动时间。 **1.4 HDFS文件块大小(面试重点)** HDFS中的文件被分割成块进行存储,默认的块大小为128MB(Hadoop 2....
Hadoop-HDFS,全称为Hadoop Distributed File System,是一种分布式文件系统,旨在解决大规模数据存储和处理的问题。随着大数据时代的到来,单个操作系统无法有效地管理和维护海量数据,因此,分布式文件系统如HDFS...
"大数据Hadoop中Hdfs的工作原理简洁版" 大数据Hadoop中Hdfs的工作原理可以分为几个主要部分:Hdfs工作原理中主要关键词、SecondaryNamenode的工作机制、Hdfs工作流程、Hdfs的读写流程等。 首先,Hdfs工作原理中...
- **SecondaryNameNode**:并非NameNode的热备份,而是一个辅助角色,它定期从NameNode获取fsimage(元数据镜像文件)和edits(元数据操作日志),合并成新的fsimage,减轻NameNode的内存压力,同时也提供了部分容错...
6. NameNode高可用:为了防止单点故障,Hadoop引入了备用NameNode(Secondary NameNode),定期合并编辑日志(edits log)和fsimage,提供对NameNode的热备份。 7. HDFS API:HDFS提供了Java API供应用程序访问,...
《大数据技术之Hadoop(HDFS)》 Hadoop分布式文件系统(HDFS)是处理海量数据的核心组件之一,其设计初衷是为了解决单机操作系统...理解HDFS的工作原理和操作方式,对于有效利用Hadoop生态系统处理大数据至关重要。