HDFS持久化---NameNode,SecondaryNamenode持久化

为保证元数据的安全,需要将数据存放在磁盘中----持久化

HDFS持久化主要是--SecondaryNamenode和NameNode将数据持久化,写入磁盘中

引言:

         NameNode不能持久化的原因 :

                                                    可以做:需求小,占用内存小,不影响计算效率

                                                     不可做:NameNode本身工作已经多,可能会宕机。也会造成数据缺失

在NameNode中会存放两种文件,

                 1.edits.log  存放系统在运行过程产生的操作信息

                  2.fsimage  存放系统信息

持久化的过程

             1.SecondaryNamenode会将NameNode中edits.log和fsimage,进行合并产生新的fsimage,将其写入磁盘。

              2.NameNode还会继续生产新edits.log数据

              3.NameNode会将SecondaryNamenode产生的新的fsimage拉取过来,再与edits.log继续存写数据

              4.当NameNode满足一定的条件后,SecondaryNamenode又会继续拉取继续持久化。

NameNode持久化条件

                超过时间3600S或edits的大小超过64M

故:NameNode持久化是将NameNode的元数据写入磁盘中进行存储,当NameNode挂了之后重启的时候,会去磁盘读取相应的元数据,恢复集群的状态

通常服务器需要持久化有两种情况

                        1.在持久化之前      服务器启动时,读取系统日志fsimage

                        2.在持久化之后       读取磁盘中的数据edits.log数据,恢复状态

NameNode与DataNode通信机制是---心跳机制(每个三秒,DataNode会向NameNode发送一次心跳,一分钟没有心跳,则认为DataNode挂掉)

 

服务器的安全模式

             1.恢复系统状态

              2.检查DataNode的信息

              3.有问题的DataNode进行修复

                      1)、在传输过程中断电---数据丢失,故应提前预判进行相应的调整

                       2)、传输完成之后断电

                                 集群恢复之后,NameNode会读取元数据,对状态进行回复

                       3)、当检查DataNode有问题

                               根据情况,判断是否将新的文件上传

                     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值