namenode和secondary namenode之间的工作原理 整理
2022/5/23 1:04:24
本文主要是介绍namenode和secondary namenode之间的工作原理 整理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
namenode和secondary namenode中涉及到的主要概念就是
1 元数据
2 fsimage (备份元数据)
3 edits (操作日志)
namenode为了快速响应随机访问,所以把元数据放在内存,同时为了防止断电导致元数据丢失,在磁盘上存在一个备份元数据的fsimage。当在内存中的元数据更新时,如果同时更新 FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦 NameNode 节点断电,就会产生数据丢失。因此,引入 Edits 文件(只进行追加操作,效率很高)。每当元数据有更新或者添加元数据时,修改内存中的元数据并追加到 Edits 中。这样,一旦 NameNode 节点断电,可以通过 FsImage 和 Edits 的合并,合成元数据。而这个合并操作是由secondary namenode 来完成的。
总体来看,namenode 和secondary namenode 的工作流程分成俩个阶段
1)第一阶段:NameNode 启动
- (1)第一次启动 NameNode 格式化后,创建 Fsimage 和 Edits 文件。如果不是第一次启 动,直接加载编辑日志和镜像文件到内存。
- (2)客户端对元数据进行增删改的请求。
- (3)NameNode 记录操作日志(增删改查操作,查不会更新滚动日志),更新滚动日志。(注意namenode 只会更新edits操作日志文件)
- (4)NameNode 在内存中对元数据进行增删改。
2)第二阶段:Secondary NameNode 工作 (secondary namenode 会比namenode 节点 一直缺少一个最新的更新操作,也就是edits.new文件中的内容)
- (1)Secondary NameNode 询问 NameNode 是否需要 CheckPoint。直接带回 NameNode是否检查结果。
(fsimage与edits的合并时机取决于两个参数,第一个参数是默认1小时fsimage与edits合并一次。第二个参数是hdfs操作次数达到1000000 也会触发合并!)这俩个参数是可以自己设置的
- (2)Secondary NameNode 请求执行 CheckPoint。
- (3)NameNode 滚动正在写的 Edits 日志。
(意思就是说 secondary namenode 要求namenode 停止使用旧edis日志文件,如果此时namenode正在进行一个新的更新操作,namenode就把新更新操作放到 edits.new文件中)
(这种操作能有效防止edits文件不停增大)
- (4)将滚动前的旧edits文件和fsimage文件拷贝到 Secondary NameNode。
- (5)Secondary NameNode 加载旧edits文件和fsimage文件到内存,并合并。
- (6)生成新的镜像文件 fsimage.chkpoint。
- (7)拷贝 fsimage.chkpoint 到 NameNode。
- (8)NameNode 将 fsimage.chkpoint 重新命名成 fsimage。将edits.new 重新命名为edits
这篇关于namenode和secondary namenode之间的工作原理 整理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享
- 2024-11-22ansible 的archive 参数是什么意思?-icode9专业技术文章分享
- 2024-11-22ansible 中怎么只用archive 排除某个目录?-icode9专业技术文章分享
- 2024-11-22exclude_path参数是什么作用?-icode9专业技术文章分享
- 2024-11-22微信开放平台第三方平台什么时候调用数据预拉取和数据周期性更新接口?-icode9专业技术文章分享
- 2024-11-22uniapp 实现聊天消息会话的列表功能怎么实现?-icode9专业技术文章分享
- 2024-11-22在Mac系统上将图片中的文字提取出来有哪些方法?-icode9专业技术文章分享
- 2024-11-22excel 表格中怎么固定一行显示不滚动?-icode9专业技术文章分享
- 2024-11-22怎么将 -rwxr-xr-x 修改为 drwxr-xr-x?-icode9专业技术文章分享
- 2024-11-22在Excel中怎么将小数向上取整到最接近的整数?-icode9专业技术文章分享