如何稳定解析Hdfs fsImage文件
作者:
_Kantin | 来源:发表于
2021-10-09 10:23 被阅读0次
背景
- 众所周知,要获取hdfs中存储的目录信息,比较简单的方式可通过访问8020来获取,但是此举会增加NN的压力,同时也采集不到我们最关心的数据访问时间这个字段。
- 通过解析Hdfs image的话,可得到数据访问时间字段,将非常有利于我们进行冷热数据分析。
过程
- FsImage文件是分布在运行NN的机器上的,因此需定时把Image上次到hdfs上
- 笔者是每天定时起docker容器拉取Image进行解析
- 实践证明解析后的Image文件大概是原文件的三倍大小
- 解析命令
# 字符按照“,”进行分割,强烈建议加上-t参数,防止OOM
hdfs oiv -p Delimited -delimiter , -t temporaryDir -i fsimage_0000000075762298193 -o fsimage.csv
- 解析后的字段含义分别是:
- Path:目录路径
- Replication:副本数
- ModificationTime:最后修改时间
- AccessTime:最后访问时间
- PreferredBlockSize:首选块大小,单位:byte
- BlocksCount:块的数量
- FileSize:文件大小,单位:byte
- NSQUOTA:名称配额 限制指定目录下允许的文件和目录的数量。
- DSQUOTA:空间配额 限制该目录下允许的字节数
- Permission:权限
- UserName:用户
- GroupName:用户组
- 最后可以把解析玩的csv文件上传到HIVE中,通过写HQL查询你感兴趣的东西
- fsImage中数据非常全,相当于全景图,只要想要的几乎都可以查到
本文标题:如何稳定解析Hdfs fsImage文件
本文链接:https://www.haomeiwen.com/subject/keqqoltx.html
网友评论