Namenode和SecondaryNamenode工作机制

人生之路坎坎坷坷,跌跌撞撞在所难免。但是,不论跌了多少次,你都必须坚强勇敢地站起来。任何时候,无论你面临着生命的何等困惑抑或经受着多少挫折,无论道路多艰难,希望变得如何渺茫,请你不要绝望,再试一次,坚持到底,成功终将属于勇不言败的你。

导读:本篇文章讲解 Namenode和SecondaryNamenode工作机制,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1,首先Namenode需要和客户端进行交互 为了提高交互效率,Namenode需要把元数据放在内存中,但是为了防止断电数据丢失,元数据需要备份到磁盘(FsImage)

2,在Namenode与客户端交互的过程中需要对元数据进行操作,在交互的过程中,如果同步更新FsImage,那么效率就会非常低,

3,为了解决上述问题,因此引入Edits文件(此文件只进行追加操作)每当由元数据需要操作时,操作后的元数据追加到Edits中,这样即使断电,通过合并Edits和FsImage也可以进行数据保存。

4,那么如果一直不断电,并且集群一直运行,Edits文件就一直追加,导致文件越来越大,同样影响开发效率,而且合并时时间太长,

5,因此需要定时把Edits和FsImage合并,这个定时合并工作就有SeCondaryNamenode来完成,即checkPoint,

SeCondaryNamenode执行checkPoint操作需要两个条件,

一,定时一般为3600s,也就是一个小时

二,Edits文件存入一定数据,一般是操作数达到100万条数据时,

只要满足一个条件时就可以执行checkPoint操作

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/133857.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!