这篇文章主要讲解了“checkpoint机制如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“checkpoint机制如何实现”吧!我们都知道为了优化分布式存储系统中 NameNode 的重启性能,我们引进了 checkpoint 机制和 FsImage 快照,使得 FsImage 和 editslog 共同为系免费云主机域名统元数据提供持久化功能。NameNode 的主要工作时维护系统中文件元数据,并实现其持久化;在每执行一个操作之后,NameNode 都要生成一个 editslog,最后刷盘(但是不是每生成一条数据就刷盘一次)。从这我们可以发现,NameNode 进程,它需要额外分配出来一个线程,后台线程定时的去进行磁盘IO的操作,其实这个是很影响本地 CPU 负载的;另外,假设这时候来了很多操作请求,那么系统中将有大量的线程用来来更新内存的文件目录树,这时候肯定是要加锁的了。此时如果系统还要每隔一段时间,耗费比如说几秒钟,甚至几分钟的时间来对文件目录树进行加锁,读取数据,写入本地磁盘;这样就会导致更新文件目录树,和读取文件目录树写入磁盘,它们之间会产生巨大的锁的冲突。如果上述所有操作都在 NameNode 上执行的话,就太影响 NameNode 节点的性能了。为此,我们需要考虑给系统中增加一个角色——BackNode,其实它的功能就有点像 HDFS 中的 SecondaryNameNode。BackNode 是充当于 NameNode 的一个冷备份的角色,我们可以将 checkpoint 的操作交给其来执行,这样就可以减轻 NameNode 这边的性能消耗了。BackNode 在启动的时候会启动一个 checkpoint 的调度任务:这是一个定时任务,每隔一段时间就会被执行一次。下面我们一起来看看 checkpoint 任务具体需要做些什么?判断当前系统中的 txid 和上一次 checkpoint 时的是否一致,不一致才继续执行根据当前系统中的数据生成 FsImage处理掉旧的 FsImage具体代码如下:感谢各位的阅读,以上就是“checkpoint机制如何实现”的内容了,经过本文的学习后,相信大家对checkpoint机制如何实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
这篇文章主要介绍“Vue封装svg-icon组件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue封装svg-icon组件如何使用”文章能帮助大家解决问题。SVG(Scalable Vector Graphi…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。