www.8029.com-首页

教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

传智教育|传智播客

一样的教育,不一样的品质

全国校区

 

fsimage和edit的区别【大数据面试问题】

更新时间:2021年06月25日17时44分 来源:传智教育 浏览次数:

传智教育-一样的教育,不一样的品质

HDFS磁盘上元数据文件分为两类,用于持久化存储:

fsimage 镜像文件:是元数据的一个持久化的检查点,包含Hadoop文件系统中的所有目录和文件元数据信息,但不包含文件块位置的信息。文件块位置信息只存储在内存中,是在 datanode加入集群的时候,namenode询问datanode得到的,并且间断的更新。

Edits 编辑日志:存放的是Hadoop文件系统的所有更改操作(文件创建,删除或修改)的日志,文件系统客户端实行的更改操作首先会被记录到edits文件中。

fsimage和edits文件都是经过序列化的,在NameNode启动的时候,它会将fsimage文件中的内容加载到内存中,之后再实行edits文件中的各项操作,使得内存中的元数据和实际的同步,存在内存中的元数据支撑客户端的读操作,也是 完整的元数据。

当客户端对HDFS中的文件进行新增或者修改操作,操作记录首先被记入edits日志文件中,当客户端操作成功后,相应的元数据会更新到内存元数据中。因为fsimage文件一般都很大(GB级别的很常见),如果所有的更新操作都往fsimage文件中添加,这样会导致系统运行的十分缓慢。

HDFS这种设计实现着手于:一是内存中数据更新、查询快,极大缩短了操作响应时间;二是内存中元数据丢失风险颇高(断电等),因此辅佐元数据镜像文件(fsimage)+编辑日志文件(edits)的备份机制进行确保元数据的安全。



猜你喜欢:

什么是HDFS Shell?HDFS常用命令操作演示

HDFS是什么?HDFS的演变过程?

<a href="itcast.cn/news/20201221/17071256759.shtml>怎样使用Spark Shell来读取HDFS文件?

传智教育python+大数据开发培训

www.8029.com|www.8029.com

XML 地图 | Sitemap 地图