hdfs元数据管理

hdfs的元数据辅助管理

元数据就是文件的创建时间、大小、权限、块列表等信息。

在Hadoop集群中namenode的元数据信息都保存在了Fslmage和Eidts文件中,这两个文件的目录信息就配置在hdfs-site.xml文件中。

**fsimage:HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息edits:**保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等等。

两个文件一旦损坏或丢失将导致整个hdfs文件系统不可用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qgK3ybZ2-1603113326336)(https://s1.ax1x.com/2020/09/17/wRaAzT.png)]

namenode中内存中有元数据,而fsimage相当于对元数据的备份,edits记录最近操作日志,fsimage和edits会周期性的合并为一个文件。

fsimage文件的查看

hdfs oiv用于将fsimage文件转换成其他格式的,如文本文件、XML文件。

必须参数:

-i,–inputFile 输入FSImage文件.

-o,–outputFile 输出转换后的文件,如果存在,则会覆盖

可选参数:

-p,–processor 将FSImage文件转换成哪种格式: (Ls|XML|FileDistribution).默认为Ls.

-h,–help 显示帮助信息

实例:将fsimage转换为txt保存在指定目录。

hdfs oiv -i /data1/hadoop/dfs/name/current/fsimage_0000000000019372521 -o /home/hadoop/fsimage.txt

实例:加上-p参数指定转化为xml文件。

hdfs oiv -i /data1/hadoop/dfs/name/current/fsimage_0000000000019372521 -o /home/hadoop/fsimage.xml -p XML

Eidts文件的查看

hdfs oev用于查看edits文件。

必须参数:

-i,–inputFile 输入edits文件,如果是xml后缀,表示XML格式,其他表示二进制。

-o,–outputFile 输出文件,如果存在,则会覆盖。

可选参数:

-p,–processor 指定转换类型: binary (二进制格式), xml (默认,XML格式),stats (打印edits文件的静态统计信息)

-h,–help 显示帮助信息

-f,–fix-txids 重置输入edits文件中的transaction IDs

-r,–recover 使用recovery模式,跳过eidts中的错误记录。

-v,–verbose 打印处理时候的输出。

实例:未指定-p选项,默认输出xml文件

hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.xml

在输出的xml文件中,每个RECORD记录了一次操作,比如图中的OP_ADD代表添加文件操作,OP_MKDIR代表创建目录操作。里面还记录了文件路径(PATH),修改时间(MTIME)、添加时间(ATIME)、客户端名称(CLIENT_NAME)、客户端地址(CLIENT_MACHINE)、权限(PERMISSION_STATUS)等非常有用的信息。

当edits文件破损进而导致HDFS文件系统出现问题时,可以通过将原有的binary文件转换为xml文件,并手动编辑xml文件然后转回binary文件来实现。

实例:指定-p选项输出统计信息

hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.txt -p stats

SecondaryNamenode辅助管理fsimage和edits文件

客户端client向namenode发送一个文件,namenode会生成元数据,而这时日志文件edits会对元数据进行同步更新,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hHNMPm3w-1603113326340)(https://s1.ax1x.com/2020/09/17/wRBzUH.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值