温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop中namenode和secondarynamenode的工作机制是什么

发布时间:2021-07-21 11:11:34 来源:亿速云 阅读:173 作者:Leah 栏目:服务器

Hadoop中namenode和secondarynamenode的工作机制是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1)流程

Hadoop中namenode和secondarynamenode的工作机制是什么

2)FSImage和Edits

nodenode是HDFS的大脑,它维护着整个文件系统的目录树,以及目录树里所有的文件和目录,这些信息以俩种文件存储在文件系统:一种是命名空间镜像(也称为文件系统镜像,File System Image,FSImage),即HDFS元数据的完整快照,每次NameNode启动的时候,默认会加载最新的命名空间镜像,另一种是命令空间镜像的编辑日志(Edit log)。

FSImage文件其实是文件系统元数据的一个永久性检查点,但并非每一个写操作都会更新这个文件,因为FSImage是一个大型文件,如果频繁地执行写操作,会使系统运行极为缓慢。解决方案是NameNode只将改动内容预写日志,即写入命名空间镜像的编辑日志.随着时间的推移,编辑日志会变得越来越大,那么一旦发生故障,将会话费非常多的时间来回滚操作,所以就像传统的关系数据库一样,需要定期地合并FSImage和编辑日志。如果由NameNode来做合并操作,那么NameNode在为集群提供服务时可能无法提供足够的资源,为了彻底解决这一问题,SecondaryNameNode应允而生。

3)第一阶段:namenode 启动

  • (1)第一次启动 namenode 格式化后,创建 fsimage 和 edits 文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。

  • (2)客户端对元数据进行增删改的请求。

  • (3)namenode 记录操作日志,更新滚动日志。

  • (4)namenode 在内存中对数据进行增删改查。

4)第二阶段:Secondary NameNode 工作

  • (1)Secondary NameNode 询问 namenode 是否需要 checkpoint。直接带回 namenode 是否检查结果。

  • (2)Secondary NameNode 请求执行 checkpoint。

  • (3)Secondary NameNode引导namenode 滚动更新编辑正在写的 edits 日志。

  • (4) Secondary NameNode载入FSImage文件,回放编辑日志,将其合并到FSImage,将新的FSImage文件压缩后写入磁盘。

  • (5)拷贝 fsimage到 namenode。

  • (6)namenode 将 fsimage重新命名成 fsimage。

默认情况下,该过程每小时发生一次,或者当NameNode的编辑日志文件到达默认的64MB也会触发。

关于Hadoop中namenode和secondarynamenode的工作机制是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI