fsimage文件保存了hdfs文件系统在某一个时间点的所有目录和文件indode的序列化信息的快照。
fsimage文件保存目录
cd /data/hadoop/hdfs/namenode/current
fsimage文件保存了hdfs文件系统在某一个时间点的所有目录和文件indode的序列化信息的快照,edits文件是hdfs文件系统的操作记录,当edits文件达到一定大小的时候会合并到fsimage文件中。可以通过hdfs命令将fsimage文件转换为csv或者xml文件进行查看。这里将fsimage文件转换为csv文件并上传到hdfs映射成hive表进行查看。
# 字符按照“,”进行分割,强烈建议加上-t参数,防止OOM
hdfs oiv -p Delimited -delimiter , -t temporaryDir -i fsimage_0000000000066298188 -o /data/fsimage.csv
Path:目录路径
Replication:副本数
ModificationTime:最后修改时间
AccessTime:最后访问时间
PreferredBlockSize:首选块大小,单位:byte
BlocksCount:块的数量
FileSize:文件大小,单位:byte
NSQUOTA:名称配额 限制指定目录下允许的文件和目录的数量。
DSQUOTA:空间配额 限制该目录下允许的字节数
Permission:权限
UserName:用户
GroupName:用户组
create table test.fsmiage(
Path string,
Replication string,
ModificationTime string,
AccessTime string,
PreferredBlockSize string,
BlocksCount string,
FileSize string,
NSQUOTA string,
DSQUOTA string,
Permission string,
UserName string,
GroupName string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
hdfs dfs -put -f /data/fsimage.csv /apps/hive/warehouse/test.db/fsmiage/