HDFS成员的工作机制
NameNode工作机制
nn负责管理块的元数据信息,元数据信息为fsimage和edits预写日志,通过edits预写日志来更新fsimage中的元数据信息,
每次namenode启动时,都会将磁盘中的fsimage读入到内存
当达到snn的checkpoint标准时(一小时或100W次操作),由scc辅助nn进行edits和fsimage的合并
SecondaryNameNode的工作机制
scc向nn询问是否需要执行checkpoint,并且直接带回询问结果。
scc请求执行checkpoint
nn滚动正在写的edits日志,将checkpoint以前的edits和fsimage拷贝给snn
snn将edits和fsimage加载到内存中并且合并,生成新的文件fsimage.checkpoint
snn将新生成的fsimage.checkpoint拷贝给nn,nn将文件改名为fsimage
*** Fsimage介绍 ***
FSImage 是 NameNode 自最后一次 CheckPoint 之前的全部元数据,并不是实时的数据
FSImage 保存了 NameNode 管理下的所有 DataNode 的文件和目录信息
(对文件来说:包括文件的 block、各个 block 所在的 DataNode,以及它们的修改时间、访问时间等
对目录来说:包括修改时间、访问权限控制信息(权限、属组)等。)
FSImage 默认会保存2个,由属性 dfs.namenode.num.checkpoints.retained 控制。
DateNode工作流程
dn在启动后会向nn进行注册,汇报块信息,
在注册成功后,默认每隔6小时向nn汇报一次块信息,
每三秒与nn进行一次心跳,心跳会带回nn对dn的命令,如删除某数据块(如果超过10分钟+30秒没有与nn进行心跳则会认为次dn已经挂掉)
集群运行中可以安全的加入和退出一些机器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了