当前位置:网站首页>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 转换后文件输出路径
实操

边栏推荐
猜你喜欢

Uni app wechat applet - Mall (7) - Product Details

How to install the pagoda panel on the server? (pagoda panel installation tutorial)

openGauss内核分析-统计信息与行数估计

记一次用canvas做出腾讯云首页banner流光效果的经历

Uni app wechat applet - Mall (4) - merchants

let和const、let、const和var的区别

JS replaces a character in the string, and JS modifies the specified character in the string

What is the QS module?

mock平台的使用说明

Nodejs cross domain CORS
随机推荐
软件漏洞分析入门(五)
同学们 小组作业记得别抄哈 幸好只传了两道题 不要出事了
JS higher order function filter/map/reduce
uni-app微信小程序——商城(7)——商品详情
Node的数据库编程(MySQL),增删改查
Uni app wechat official account (5) - add and modify addresses
Deep copy and shallow copy
Promise的基本使用
es6语法--解构赋值
Page layout - three column layout solution
Differences between let and const, let, const and VaR
JS高阶函数 filter/map/reduce
Uni scroll view pull-down refresh
04-BTC-实现
Uni app wechat applet - Mall (7) - Product Details
元宇宙会给万亿市场的音乐产业带来哪些变化?
NFT IP授权热度渐起,NFT2.0时代即将到来?
2022.7.7 一些错误总结
今天的码农女孩学习了关于nodejs和REPL 交互式解释器的知识
软件漏洞分析入门(二)