hadoop--HDFS_NameNode和SecondaryNameNode工作机制

NN和2NN工作机制

NameNode中的元数据是存储在哪里?

元数据存在镜像文件Fsimage和编辑日志Edist文件中。在Secondary NameNode节点中,会定期进行Fsimage和Edits的拷贝与合并,保证元数据的更新。

1.假设存储在NameNode节点的磁盘中,因为要经常进行随机访问和响应客户请求,看起来效率过低;那应该是在内存中;

2.假设只存放在内存中,一旦断电,元数据丢失,整个集群便无法工作;

3.因此应该是在存在磁盘中备份元数据的Fsimage中;但当内存中的元数据更新时,如果同时更新Fsiamge,就会导致效率过低,但如果不更新,就会产生一致性问题,一旦NameNode节点断电,就会产生数据丢失;

4.所以还要引入Edits文件(只进行追加操作,效率高),每当元数据有更新或者添加元数据时,修改内存中的元数据并追加到Edits中。
这样,当NameNode节点断电时,可以通过Fsimage和Edits的合并,合成元数据。

5.但如果长时间添加数据到Edits种,会导致该文件数据过大,效率降低,一旦断电,恢复元数据需要的时间过长。

所以,需要定期进行Fsimage和Edits的合并,如果此操作由NameNode节点完成,效率过低;所有,再次引入一个新的节点Secondary NameNode,专门用于Fsimage和E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值