NameNode和SecondaryNameNode关系解析

HDFS集群在启动后会有三个守护进程:NameNode,SecondaryNameNode和DataNode。我们都知道DataNode是用来存放数据的位置,那么NameNode和SecondaryNameNode的关系又是怎么样的呢?许多初学者根据名字可能会以为当NameNode出现故障时,SecondaryNameNode会自动成为新的NameNode,也就是NameNode的“热备”。通过下面
摘要由CSDN通过智能技术生成

HDFS集群在启动后会有三个守护进程:NameNode,SecondaryNameNode和DataNode。我们都知道DataNode是用来存放数据的位置,那么NameNode和SecondaryNameNode的关系又是怎么样的呢?许多初学者根据名字可能会以为当NameNode出现故障时,SecondaryNameNode会自动成为新的NameNode,也就是NameNode的“热备”。通过下面的介绍,我们就会清楚地认识到这是错误的。

NameNode也被成为名字节点,是HDFS的主从架构的主角色的扮演者。它维护者整个文件系统的目录树,以及目录树里的所有文件和目录,这些信息以两种文件存储在本地文件中:一种时命名空间镜像(也称文件系统镜像,File System Image, FSImage),即HDFS元数据的完整快照,每次NameNode启动时,默认会加载最新的命名空间镜像,另一种是命名空间镜像的编辑日志(edit log)。
SecondaryNameNode也被称为第二名字节点,用于定期合并命名空间镜像和命名空间镜像的编辑日志
FSImage 文件其实是文件系统元数据的一个永久行检查点,因为FSImage是一个大型文件,如果频繁的执行写操作,会使系统运行很慢。解决方案是NameNode只将改动内容预写日志(WAL),即写入命名空间镜像的编辑日志。随着时间的推移,编辑日志会越来越大,那么一旦发生故障,将会花费很多的时间回滚操作,所以需要定期合并FSImage和编辑日志,如果由NameNode来做,那么NameNode在为集群服务时可能无法提供足够的资源,所以这件事情就交给了S

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值