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

HDFS oiv解析Fsimage OOM异常处理

作者头像
Eights
发布2020-07-10 11:54:23
1.4K0
发布2020-07-10 11:54:23
举报
文章被收录于专栏:Eights做数据

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

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

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

1

问题描述

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

代码语言:javascript
复制
#获取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
复制
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
复制
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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档