大数据(二)---------HDFS--SecondaryNamenode----持久化

在HDFS里,主节点(NN)掌握一批元数据(描述数据的数据)   ---->放在内存里面

硬盘和内存的区别:

           硬盘:内存大、便宜、但是慢

           内存:内存小、贵、但是快

为什么要持久化?

为了保证元数据的安全,要将内存中的数据放到磁盘(硬盘)中---->这就是持久化。

当我们的集群因为断电等原因产生问题的时候,问题解决,重新开机,会去磁盘上读取元数据,恢复到断电前的状态;

谁来持久化?

所以,就需要用到SecondaryNamenode(SNN)来进行持久化操作;

主节点(NN)不能持久化的原因:主节点的工作已经很多了,有可能在持久化的过程中宕机;

SNN永远无法取代NN的位置,他只是NN的一个热备(运行状态下,依然进行备份)

SNN持久化的机制:

持久化的触发条件:超过3600S或edits的大小超过64M---->可更改配置

edits.log------->操作的日志文件            fsimage-------->系统运行产生的数据

流程:当满足触发条件时,SNN将主节点(NN)的edits.log和fsimage剪切到磁盘内,合并为一个新的fsimage文件,然后把该文件再剪切到主节点内;如果又满足触发条件,在上段时间新产生的edits.log文件和剪切过来的faimage又会被剪切到磁盘内,然后合并为一个fsimage文件,剪切到主节点内......(循环往复)

个别情况:另外在启动一个edits里面会同时存在两个edits,fsimage会先和第一个edits进行合并,然后和第二个合并

如果上述情况成为常态,就需要对集群进行调整,调大edits文件的大小

总结:持久化就是将主节点(NN)的元数据写入到磁盘中进行存储,当主节点挂了之后重启的时候,去磁盘读取相应的元数据,恢复集群的状态

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

安全模式:

        1.恢复系统状态

        2.检查DN的信息

        3.有问题的DN进行修复

如果在持久化的过程中断电,数据就会丢失;对于重要的数据,就需要提前进行预判进行相应的调整。

当传输完成之后断电:当我的集群重新恢复之后,NN会去读取元数据,对状态进行相应的恢复

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

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值