前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HDFS oiv解析Fsimage OOM异常处理

HDFS oiv解析Fsimage OOM异常处理

作者头像
Eights
发布于 2020-07-10 03:54:23
发布于 2020-07-10 03:54:23
1.5K00
代码可运行
举报
文章被收录于专栏:Eights做数据Eights做数据
运行总次数:0
代码可运行

本篇文章大概1152字,阅读时间大约4分钟

本文记录hdfs oiv命令解析fsimage文件过程中的OOM异常处理解决方案

HDFS的Fsimage文件记录了集群的元数据信息,是进行集群健康度分析的基础。利用HDFS oiv命令可以解析fsimage文件,解析后的文件放入Hive中即可进行集群元数据的详细分析。

1

问题描述

运行以下命令,获取hdfs集群的fsimage文件,并使用oiv命令进行解析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#获取fsimage文件
hdfs dfsadmin -fetchImage /hdfs_meta

#使用oiv命令将fsimage文件解析为csv文件
hdfs oiv -i /hdfs_meta/fsimage_xxxxxxxxx -o /hdfs_meta/fsimage.csv -p Delimited

异常信息

喜闻乐见的OOM

2

解决思路

解析fsimage文件出现OOM,初步考虑是HDFS Client的java heap设置小了,于是尝试在hdfs oiv命令前指定HADOOP_CLIENT_OPTS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HADOOP_CLIENT_OPTS='-Xmx5000m' hdfs oiv -i /hdfs_meta/fsimage_xxxxxxxxx -o /hdfs_meta/fsimage.csv -p Delimited

发现依旧OOM,随后将该参数从5G调整到20G,并未解决该问题(尝试过去CM上修改HDFSClient的 Java Heap)

查看hdfs oiv命令的help发现了一个-t参数,使用临时目录缓存中间结果来生成oiv命令的解析结果,可以缓解内存的压力。

最终在oiv命令中带上-t参数,问题解决

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs oiv -i /hdfs_meta/fsimage_xxxxxxxxx -t /temp/dir -o /hdfs_meta/fsimage.csv -p Delimited

问题参考:

https://issues.apache.org/jira/browse/HDFS-6293

https://community.cloudera.com/t5/Community-Articles/How-to-read-fsimage/ta-p/248832

3

Fsimage文件字段注释

字段

注释

Path

HDFS路径

Replication

副本数

ModificationTime

最近修改时间

AccessTime

最近访问时间

PerferredBlockSize

block size

BlocksCount

块总数

FileSize

文件大小

NSQUOTA

名称配额

DSQUOTA

监控配额

Permission

文件权限

UserName

所属用户

GroupName

所属用户组

顺利解析出Fsimage文件后,下一步就是建个Hive表,然后上Spark愉快的进行集群元数据分析了!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Eights做数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一种分析HDFS文件变化及小文件分布情况的方法
目前各个企业都在利用Hadoop大数据平台,每天都会通过ETL产生大量的文件到hdfs上,如何有效的去监测数据的有效性,防止数据的无限增长导致物理资源跟不上节奏,我们必须控制成本,让有限的资源发挥大数据的极致功能。本文介绍如何去分析hdfs上的文件变化情况,以及老生常谈的小文件的监控情况的一种实现方式。
Lu说
2022/06/07
1.2K0
基于prometheus与grafana搭建fsimage解析监控(1)
1、获取fsimage信息,对于超级小的集群,或者是文件数较少的集群可以用命令获取。
Bob hadoop
2021/03/11
9050
0464-如何离线分析HDFS的FsImage查找集群小文件
随着Hadoop集群数据量的增长,集群中也同时会存在大量的小文件,即文件Size比HDFS的Block Size(默认128MB)小的多的文件。Hadoop集群中存在大量的小文件对集群造成的影响如下:
Fayson
2018/12/19
3.9K1
0464-如何离线分析HDFS的FsImage查找集群小文件
Hadoop学习指南:探索大数据时代的重要组成——HDFS(下)
(1)客户端通过Distributed FileSystem 模块向NameNode 请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 (2)NameNode返回是否可以上传。 (3)客户端请求第一个 Block上传到哪几个DataNode服务器上。 (4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。 (5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用 dn2,然后dn2调用dn3,将这个通信管道建立完成。 (6)dn1、dn2、dn3逐级应答客户端。 (7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存), 以Packet 为单位,dn1 收到一个Packet 就会传给 dn2,dn2 传给 dn3;dn1 每传一个 packet 会放入一个应答队列等待应答。 (8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务 器。(重复执行3-7步)。
老虎也淘气
2024/01/30
2230
Hadoop学习指南:探索大数据时代的重要组成——HDFS(下)
HDFS最基础使用
随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。
ha_lydms
2023/10/04
3120
HDFS最基础使用
HDFS元信息管理的核心技术与实现
HDFS(Hadoop Distributed File System)是大数据领域中一种核心分布式文件系统,以高可靠性和高扩展性为特点,为海量数据存储提供了高效解决方案。具备高度容错性,通过分布式架构实现数据的高效存储与管理,HDFS采用分块存储与冗余副本策略,确保数据的高可用性与持久性,同时支持高吞吐量的数据访问,满足大数据量处理对性能与稳定性的需求,适用于大规模数据存储和处理场景,特别是读多写少的场景。
童子龙
2025/03/19
2250
HDFS元信息管理的核心技术与实现
Hadoop之hdfs体系结构
HDFS 采用的是hostname01/slaves这种主从的结构模型来管理数据,这种结构模型主要由四个部分组成,分别是Client(客户端)、Namenode(名称节点)、Datanode(数据节点)和SecondaryNameNode。
全栈程序员站长
2022/09/01
3810
HDFS元数据管理:fsimage&edits
介绍HDFS的元数据管理机制,说明fsimage文件和edits的作用,给出解析fsimage文件和edits文件的demo
Eights
2020/07/10
2.8K0
HDFS元数据管理:fsimage&edits
快速学习-NameNode和SecondaryNameNode
思考:NameNode中的元数据是存储在哪里的? 首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生在磁盘中备份元数据的FsImage。 这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。因此,引入Edits文件(只进行追加操作,效率很高)。每当元数据有更新或者添加元数据时,修改内存中的元数据并追加到Edits中。这样,一旦NameNode节点断电,可以通过FsImage和Edits的合并,合成元数据。 但是,如果长时间添加数据到Edits中,会导致该文件数据过大,效率降低,而且一旦断电,恢复元数据需要的时间过长。因此,需要定期进行FsImage和Edits的合并,如果这个操作由NameNode节点完成,又会效率过低。因此,引入一个新的节点SecondaryNamenode,专门用于FsImage和Edits的合并。 NN和2NN工作机制,如图3-14所示。
cwl_java
2020/02/19
5160
深入浅出学大数据(三)分布式文件系统HDFS及HDFS的编程实践
此系列主要为我的学弟学妹们所创作,在某些方面可能偏基础。如果读者感觉较为简单,还望见谅!如果文中出现错误,欢迎指正~
不温卜火
2021/09/29
1.1K0
蚂蚁绊倒大象?不起眼的小文件竟拖了Hadoop大佬的后腿
在使用Hadoop过程中,小文件是一种比较常见的挑战,如果不小心处理,可能会带来一系列的问题。HDFS是为了存储和处理大数据集(M以上)而开发的,大量小文件会导致Namenode内存利用率和RPC调用效率低下,block扫描吞吐量下降,应用层性能降低。通过本文,我们将定义小文件存储的问题,并探讨如何对小文件进行治理。
大数据技术架构
2021/03/05
1.6K1
蚂蚁绊倒大象?不起眼的小文件竟拖了Hadoop大佬的后腿
大数据技术之_04_Hadoop学习_01_HDFS_HDFS概述+HDFS的Shell操作(开发重点)+HDFS客户端操作(开发重点)+HDFS的数据流(面试重点)+NameNode和Seconda
传统硬盘HDD(Hard Disk Drive)传输速率:100MB/s 固态硬盘SSD(Solid State Drive)传输速率:500MB/s 混合硬盘HHD(Hybrid Harddrive)传输速率:300MB/s PCIe固态硬盘SSD(Solid State Drive)传输速率:1500MB/s
黑泽君
2019/03/04
1.4K0
HDFS中Fsimage,Edits详解(6)
本篇博客,小菌为大家带来的是HDFS中NameNode的Fsimage与Edits的详解。
大数据梦想家
2021/01/22
1.7K0
HDFS中Fsimage,Edits详解(6)
HDFS——fsimage
在《HDFS——editLog文件》一文中提到了namenode(后面简称nn)的元数据信息由editlog和fsimage文件组成。
陈猿解码
2023/02/28
8110
HDFS——fsimage
FsImage Analyse Tool
该工具提供自动化解析HDFS集群FSImage文件,并解析成文本文件存储在HDFS中;解析后的信息通过Hive映射成表,并通过Hive进行相关信息统计,使用有数生成相关报表。
sparkle123
2021/01/08
9591
【愚公系列】2024年02月 大数据教学课程 022-Hadoop的HDFS
HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写。它是一种分布式文件系统,旨在将大量的数据存储在Hadoop集群中的多台机器上。HDFS具有高度容错性,并且设计用于在低成本硬件上部署。它允许高吞吐量的数据访问,并为大数据应用程序提供可扩展的存储。HDFS是Apache Hadoop生态系统的关键组件之一,许多组织使用它来存储和处理大型数据集。
愚公搬代码
2025/06/02
780
【愚公系列】2024年02月 大数据教学课程 022-Hadoop的HDFS
独家 | 一文读懂Hadoop(二)HDFS(下)
5.1 用户命令 hadoop集群用户的常用命令。 5.1.1 classpath 打印获取Hadoop jar和所需库所需的类路径。如果无参数调用,则打印由命令脚本设置的类路径,可以在类路径条目中包含通配符。其他选项在通配符扩展后打印类路径或将类路径写入jar文件的清单。后者在不能使用通配符且扩展的类路径超过支持的最大命令行长度的环境中非常有用。 5.1.2 dfs HDFS允许以文件和目录的形式组织用户数据。它提供了一个称为FS shell的命令行界面,允许用户与HDFS中的数据交互。此命令集的语法类似
数据派THU
2018/01/30
2K0
独家 | 一文读懂Hadoop(二)HDFS(下)
hdfs和yarn高可用对比
总有一天你会笑着说出曾经令你痛苦的事情,毕竟有些东西虽然不是你想要的,但是却是你自找的,表面上是无奈,实际上是懒得去做选择,成功的路只有一条,而失败的路则是各种各样的原因。
SRE运维实践
2021/03/09
1.3K0
【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)
Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSystem(本地文件系统)了。
五分钟学大数据
2021/02/08
2.4K0
【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)
大数据-HDFS的元信息和SecondaryNameNode
当 Hadoop 的集群当中, 只有一个 NameNode 的时候,所有的元数据信息都保存在了 FsImage 与 Eidts 文件当中,这两个文件就记录了所有的数据的元数据信息, 元数据信息的保存目录配置在了hdfs-site.xml 当中
cwl_java
2019/12/25
3860
推荐阅读
相关推荐
一种分析HDFS文件变化及小文件分布情况的方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验