Secondary NameNode作用

1 篇文章 0 订阅

在讲解Secondary NameNode作用之前,先看下没有Secondary NameNode存在的问题。

1.没有Secondary NameNode之前

NameNode主要是用来保存HDFS的元数据信息,比如命名空间信息,块信息等。主要通过以下两种文件来管理。

fsimage - 它是在NameNode启动时对整个文件系统的快照
edit logs - 它是在NameNode启动后,对文件系统的改动序列

fsimage是启动时的快照,在启动之后,文件系统的修改保存在edit log中。在下一次重启的时候,合并edit logs到fsimage文件中,从而得到一个文件系统的最新快照。但是这会带来一些问题:

  1. 如果NameNode长期不重启,edit logs文件会变的很大,管理文件会麻烦
  2. NameNode的重启可能会花费很长时间,因为edit logs很大

出了问题怎么办:
1. 自己解决:namenode一段时间对edit logs合并到fsimage中,但是这会消耗大量的CPU资源,而namenode需要管理所有的datanode,做合并操作还影响性能
2. 求助他人:求助Secondary NameNode

2.有Secondary NameNode之后

上述问题的解决方案就是运行Secondary NameNode,合并NameNode的edit logs到fsimage文件中。Secondary NameNode所做的不过是来帮助NameNode更好的工作。它不是要取代掉NameNode也不是NameNode的备份

首先,它定时到NameNode去获取edit logs,并更新到fsimage上(Secondary NameNode)。更新成功后将其拷贝回NameNode中。NameNode在下次重启时会使用这个新的fsimage文件,从而减少重启的时间。

Secondary NameNode的整个目的是在HDFS中提供一个检查点。它只是NameNode的一个助手节点。这也是它在社区内被认为是检查点节点的原因。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值