SecondaryNameNode学习

SecondaryNamenode------持久化

参考下这个网址,很不错的,点击即可

NN掌握一批元数据 ----描述数据的数据 -----内存里

ps:硬盘与内存的区别
	硬盘,内存大,便宜,但是慢
	内存,内存小,贵,但是快,

为了保证元数据的安全,----将内存中的数据存放到磁盘中,

举个例子,SNN的作用:当我们的集团因断电等特殊原因产生问题的时候,问题解决,重新开机,
会去磁盘上读取元数据,恢复到断电前的状态,SNN做一个数据的保存

NN不能进行持久化的原因,

可以做,需求小,占用内存小,不影响,计算效率
不可以做,NN本身的工作就已经很懂,有可能在持久化过程中 宕机

SNN永远无法取代NN的位置,他只是个NN的热备,
ScondaryNameNode的主要工作,下面是图:

在这里插入图片描述

    1)fsimage文件其实是Hadoop文件系统元数据的一个永久性的检查点,
       其中包含Hadoop文件系统中的所有目录和文件idnode的序列化信息
    2)edits文件存放的是Hadoop文件系统的所有更新操作的路径,
       文件系统客户端执行的所以写操作首先会被记录到edits文件中。

持久化的触发条件:超过3600S或者也edits的大小超过64M的时候
此时这个地方有个神奇的问题,如果在SNN处理数据的时候又有64M的数据产生,其中机制又是如何实现的呢?图中有详细介绍,如果是个别现象,重启一个edits,NN里面会同时存在两个edits,但如果是常态的话,就需要对集群的属性进行调整,调大edits的大小
总结:持久化将NN的元数据写入到磁盘中,进行存储,当NN挂了之后重启的时候回去磁盘读取相应的元数据,恢复集群的状态----内存断电丢失

ps: 下面举个例子来说明 SecondaryNameNode 在一些特殊情况下面的运行机制
断电

  持久化之前, 再次启动,读取系统日志
  持久化之后,读取磁盘中的数据,回复状态 

重复的断电

  NN和DN的通信机制-----心跳机制(每隔3sDN会向NN发送一次心跳,1分钟没有心跳,则认为DN挂掉)
  安全模式:

	1,恢复系统的状态
	
	2,检查DN的信息
	
	3,有问题的DN进行修复

		1,在传输的过程中断电,数据丢失,如果数据特别重要,那只能提前进行预判,进行相应的调整
		
		2,传输完成之后断电,当我的集群重新恢复之后,NN是不是会去读取元数据,对状态进行相应的回复

若DN出现问题,在DN恢复之后,如果新的任务,根据情况,确定是否将新的文件上传

在这里插入图片描述
参考下这个网址,很不错的,点击即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值