HDFSoiv如何解析FsimageOOM异常处理
这篇文章将为大家详细讲解有关HDFS oiv如何解析Fsimage OOM异常处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联企业建站,十年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都做网站、成都网站制作、成都外贸网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
HDFS的Fsimage文件记录了集群的元数据信息,是进行集群健康度分析的基础。利用HDFS oiv命令可以解析fsimage文件,解析后的文件放入Hive中即可进行集群元数据的详细分析。
1问题描述
运行以下命令,获取hdfs集群的fsimage文件,并使用oiv命令进行解析
#获取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
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参数,问题解决
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
3Fsimage文件字段注释
字段 | 注释 |
Path | HDFS路径 |
Replication | 副本数 |
ModificationTime | 最近修改时间 |
AccessTime | 最近访问时间 |
PerferredBlockSize | block size |
BlocksCount | 块总数 |
FileSize | 文件大小 |
NSQUOTA | 名称配额 |
DSQUOTA | 监控配额 |
Permission | 文件权限 |
UserName | 所属用户 |
GroupName | 所属用户组 |
顺利解析出Fsimage文件后,下一步就是建个Hive表,然后上Spark愉快的进行集群元数据分析了!!!
关于“HDFS oiv如何解析Fsimage OOM异常处理”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
分享题目:HDFSoiv如何解析FsimageOOM异常处理
标题来源:http://azwzsj.com/article/giioos.html