HBase节点故障的容错方案

HBase节点故障的容错方案

  • [1. Master高可用](#1. Master高可用)
    • [1.1 选主和HA切换逻辑](#1.1 选主和HA切换逻辑)
  • [2. RS高可用](#2. RS高可用)
    • [2.1 感知RS节点异常](#2.1 感知RS节点异常)
    • [2.2 异常DN上的数据处理](#2.2 异常DN上的数据处理)
  • [4. 疑问和思考](#4. 疑问和思考)
  • [5. 参考文档](#5. 参考文档)

本文主要探讨hbase集群的高可用容错方案和容错能力的探讨。涉及Master和RS相关组件,在出现单机故障时相关的容错方案。

更多关于分布式系统的架构思考请参考文档关于常见分布式组件高可用设计原理的理解和思考

1. Master高可用

1.1 选主和HA切换逻辑

Master的HA机制主要依靠zk完成。整体的逻辑跟HDFS的NN逻辑整体上一致,也略有差别,可以参考 HDFS节点故障的容错方案

相同点

1, Master使用zk的临时锁节点进行选主

2,其他节点的watch机制跟hdfs的逻辑也一致

不同点

1, Master没有另外涉及zkfc辅助选主,而是Master自己完成了相关的逻辑

2,Master集群没有涉及fencing逻辑。

2. RS高可用

RS节点是具体的数据存储节点,HBase通常依赖hdfs进行数据存储,包括wal日志等基础原数据存储等。由于hdfs本身能够提供高可用,并且能够提供远程存储能力,因此1个RS写入的数据(包括wal日志)等能够在另外一个RS中进行数据回放。

由于HBase本身没有直接跟磁盘进行交互,因此底层的磁盘io等信息被hdfs隔离,因此hdfs的读写、存储能力直接影响HBase的性能。

2.1 感知RS节点异常

1,RS在zk中注册临时路径(/hbase/rs),如果RS节点异常,在ttl时间(默认 3min)后临时节点会被zk删除。

2, Master通过watch机制监听rs的相关路径,RS在zk中注册的临时路径过期后被删除,zk会将相关事件通知Master

2.2 异常DN上的数据处理

Master感知到RS异常后,会将RS上的Region信息迁移到其他的RS,并将wal日志在对应的RS节点进行回放,从而确保数据不丢失。

4. 疑问和思考

暂无

5. 参考文档

暂无

相关推荐
档案宝档案管理18 小时前
档案管理系统软件:档案宝让企业实现高效档案利用与精准数据分析
大数据·数据库·人工智能·档案·档案管理
忆~遂愿18 小时前
CANN ATVOSS 技术深度解析:基于 Ascend C 模板的高性能 Vector 算子子程序库与融合计算机制
大数据·人工智能
eWidget18 小时前
核心业务系统“去O”实战:如何破解语法兼容与逻辑重构难题?核心业务系统“去O”实战:如何破解语法兼容与逻辑重构难题?
数据库·oracle·重构·kingbase·数据库平替用金仓·金仓数据库
2501_9419820518 小时前
Python开发:外部群消息自动回复
java·前端·数据库
qinaoaini18 小时前
Spring中Aware的用法以及实现
java·数据库·spring
OceanBase数据库官方博客18 小时前
从分库分表到原生分布式:高德基于 OceanBase 的数据底座演进之路
数据库·oceanbase·分布式数据库
探序基因18 小时前
knockTF2.0数据库-找上游转录因子
数据库·经验分享·笔记
Web极客码18 小时前
修复Discuz 迁移后页面全部变成“????”乱码的问题
数据库·mysql·discuz·mariadb
视界先声18 小时前
解析港华商会与碳启元合作,助力企业实现碳减排目标
大数据·人工智能
霖霖总总18 小时前
[小技巧71]从回滚到 MVCC:全面解析 MySQL Undo Log 机制
数据库·mysql