当前位置:网站首页>NameNode 和 SecondaryNameNode
NameNode 和 SecondaryNameNode
2022-07-17 00:08:00 【Hyf 。】
24
目录
二、2NN的到来
NameNode中的元数据存储方式:
内存上:
好处:计算快
坏处:可靠性差
磁盘上:
好处:可靠性高
坏处:计算慢
因此,引入 Edits 文件(只进行追加操作,效率很高)。每当元数据有更新或者添 加元数据时,修改内存中的元数据并追加到 Edits 中。这样,一旦 NameNode 节点断电,可 以通过 FsImage 和 Edits 的合并,合成元数据。
2NN的到来
但是,如果长时间添加数据到 Edits 中,会导致该文件数据过大,效率降低,而且一旦 断电,恢复元数据需要的时间过长。因此,需要定期进行 FsImage 和 Edits 的合并,如果这 个操作由NameNode节点完成,又会效率过低。因此,引入一个新的节点SecondaryNamenode, 专门用于 FsImage 和 Edits 的合并。
NameNode工作机制
第一阶段:NameNode启动
1、第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存
2、客户端对元数据进行增删改的请求
3、NameNode记录操作日志,更新滚动日志
4、NameNode在内存中对元数据进行增删改
第二阶段:Secondary NameNode 工作
1、Secondary NameNode询问NameNode是否需要CheckPoint。直接回 NameNode是否检查结果。
2、Secondary NameNode请求执行ChectPoint。
3、NameNode滚动正在写的Edits日志
4、将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode
5、Secondary NameNode加载编辑日志和镜像文件到内存,并合并。
6、生成新的镜像文件fsimage.chkpoint。
7、拷贝fsimage.chkpoint到NameNode。
8、NameNode将fsimage.chkpoint重新命名成fsimage。
Fsimage和Edits概念
NameNode被格式化之后,将在/opt/module/hadoop-3.1.3/data/dfs/name/current目录下产生以下文件
1、Fsimage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含HDFS文件系统的所有目录和文件indoe的序列化信息。
2、Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到Edits文件中。
3、seen_txid文件保存的是一个数字,就是最后一个edits_的数字。
4、每次NameNode启动的时候都会将Fsimage文件读入内存,加载Edits里面的更新操作,保证内存中的元数据信息是最新的、同步的,可以看成NameNode启动的时候就将Fsimage和Edits文件进行了合并。
oiv查看Fsimage文件
基本语法
hdfs oiv -p 文件类型 -i 镜像文件 -o 转换后文件输出路径
实操:

在集群启动后,要求 DataNode 上报数据块信息,并间隔一段时间后再次上报
oev查看Edits文件
基本语法
hdfs oev -p 文件类型 -i 编辑日志 -o 转换后文件输出路径
实操

边栏推荐
猜你喜欢
随机推荐
数字藏品NFT“无聊猿”BAYC的内忧与外患
7 矩阵中战斗力最弱的 K 行
let和var的区别
今天的码农女孩做了关于呼吸灯的练习、受控组件和高阶组件的简答题
Determine whether the two timestamps are the same day
2022.7.7 一些错误总结
Uni app wechat applet - Mall (3) - Mall Homepage
9 无人机方阵
How to install the pagoda panel on the server? (pagoda panel installation tutorial)
我已经妥协了 大家既然都要叫我yelin 那我也没办法了
列表懒加载和图片懒加载
Introduction to software vulnerability analysis (III)
Red sun safety range 3
let和const、let、const和var的区别
不好意思各位 最近在银行有点事情要处理 耽搁了
02_ Data binding
一文揭秘育碧等传统游戏大厂的NFT策略
XXX packages are looking for funding run `npm fund` for details解决方法
04_理解MVVM
uni-app微信小程序——商城(4)——商家









