HDFS高可用原理,个人理解嘿嘿嘿

本文介绍了HDFS通过在集群中同时运行两个名称节点(ActiveNN和StandbyNN)来实现高可用性的机制。ActiveNN负责处理命名空间更改,并将这些更改持久化到大多数JournalNodes上;StandbyNN则通过监听JournalNodes上的更改来保持与ActiveNN的同步。此外,还详细说明了如何通过数据块位置报告和故障转移来确保快速恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HDFS的高可用性将通过在同一个集群中运行两个NN(active NN & standby NN)来解决上面两个问题,

这种方案允许在机器破溃或者机器维护快速地启用一个新的NN来恢复故障,

为了让Standby NN的状态和Active NN保持同步,

即元数据保持一致,

它们都将会和JournalNodes守护进程通信。

当Active NN执行任何有关命名空间的修改,

它需要持久化到一半以上的JournalNodes上(通过edits log持久化存储),

而Standby NN负责观察edits log的变化,它能够读取从JNs中读取edits信息,

并更新其内部的命名空间。一旦Active NN出现故障,Standby NN将会保证从JNs中读出了全部的Edits,

然后切换成Active状态。Standby NN读取全部的edits可确保发生故障转移之前,是和Active NN拥有完全同步的命名空间状态。

为了提供快速的故障恢复,Standby NN也需要保存集群中各个文件块的存储位置。

为了实现这个,集群中所有的Database将配置好Active NN和Standby NN的位置,

并向它们发送块文件所在的位置及心跳。


总结完毕,不知道有没有帮助到你对hdfs高可用的理解呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值