ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HDFS元数据管理(checkpoint机制)

2022-02-06 19:03:12  阅读:191  来源: 互联网

标签:HDFS 文件 对象 checkpoint 数据管理 内存 NameNode 日志 数据


 NameNode的主要职责是记录用户存储数据的数据元信息

元数据:文件块,文件存储位置,块大小,副本的个数,文件的权限......

记录元数据的形式由两种

元数据存储在内存上:内存对象

元数据存储在磁盘上:内存对象的序列化文件

 当客户端对HDFS上的数据进行操作以后,数据的元数据会发生变化,NameNode可以FSImage.saveImage()修改内存对象数据.(内存中的数据存储量有限)

为了保证宕机后数据的正确性,我们可以设计定期的将存储元数据FSImage对象序列化到磁盘上,但是会占用系统资源

当用户操作做数据的时候,会将用户的操作记录在edit日志中,随着时间的推移,日志数据也会越来越大,当宕机重启的时候会花费大量时间加载日志数据,启动时间过长,用户无法操作

这个时候引入SecondryNameNode用来对存储数据的元数据处理(checkpoint机制),大致如下:

下载NameNode的Fsimage000000文件(初始化文件,只下载一次)

下载生成好的日志文件,没有_inprocess的日志文件(1小时一次)

加载镜像文件生成内存对象

加载日志文件,修改镜像对象

序列化镜像对象

将镜像对象上传到NameNode中

清理NameNode上没用的日志数据和序列化的镜像文件

定期下载日志文件,合并镜像对象,上传到NameNode上

标签:HDFS,文件,对象,checkpoint,数据管理,内存,NameNode,日志,数据
来源: https://blog.csdn.net/JinVijay/article/details/122800427

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有