HDFS High Availability(HA)高可用

一、High Availability背景知识

1.1 单点故障、高可用

单点故障(英语:single point of failure,缩写SPOF)是指系统中某一点一旦失效,就会让整个系统无法运作,换句话说,单点故障即会整体故障。

高可用性(英语:high availability,缩写为 HA),IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。是进行系统设计时的准则之一。高可用性系统意味着系统服务可以更长时间运行,通常通过提高系统的容错能力来实现。

高可用性或者高可靠度的系统不会希望有单点故障造成整体故障的情形。一般可以透过冗余的方式增加多个相同机能的部件,只要这些部件没有同时失效,系统(或至少部分系统)仍可运作,这会让可靠度提高。

1.2 高可用如何实现

1.2.1 主备集群

解决单点故障,实现系统服务高可用的核心并不是让故障永不发生,而是让故障的发生对业务的影响降到最小。因为软硬件故障是难以避免的问题。

当下企业中成熟的做法就是给单点故障的位置设置备份,形成主备架构。通俗描述就是当主挂掉,备份顶上,短暂的中断之后继续提供服务。

常见的是一主一备架构,当然也可以一主多备。备份越多,容错能力越强,与此同时,冗余也越大,浪费资源。

1.2.2 Active、Standby

### HDFS 高可用性概述 HDFS High Availability (HA) 是指通过配置多个NameNode来提高文件系统的可靠性,防止单点故障的发生。当主NameNode发生故障时,备用NameNode可以接管其职责,从而确保整个分布式文件系统能够持续提供服务[^1]。 ### 实现方式一:基于 Zookeeper 的方案 一种常见的实现方法是利用Zookeeper协调各个组件之间的状态同步。此方案中,两个NameNode会共同维护一份元数据副本,并借助Zookeeper完成自动化的主备切换过程以及预防脑裂现象的发生。 ```bash # 启动zookeeper集群命令示例 $ zkServer.sh start ``` ### 实现方式二:Quorum Journal Manager (QJM) 另一种主流的方式是由Cloudera提出的Quorum Journal Manager(QJM),它允许Active NameNode将编辑日志写入多数派JournalNodes组成的集合中;而Standby NameNode可以从这些JournalNodes读取最新的变更记录并应用到自己的内存结构里去[^3]。 ```xml <!-- hdfs-site.xml 中的相关配置 --> <property> <name>dfs.nameservices</name> <value>mycluster</value> </property> <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> ... ``` 需要注意的是,在启用了HDFS HA之后的操作可能会引起服务中断,因此建议在操作前确认集群上的作业已经停止运行[^2]。 另外,对于采用NFS作为共享存储的情况也有相应的文档说明如何设置HDFS HA环境[^4]。而在任何情况下都应注意到,Standby NameNode承担着定期创建命名空间镜像的任务,不应该再额外部署Secondary NameNode等功能相同的节点[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金州饿霸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值