`
大涛学长
  • 浏览: 110765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群

阅读更多
HBase可以支持百TB数据规模、数百万QPS压力下的毫秒响应,适用于大数据背景下的风控和推荐等在线场景。阿里云HBase服务了多家金融、广告、媒体类业务中的风控和推荐,持续的在高可用、低延迟、低成本方向上进行优化。目前单集群承诺可用性99.9%,SSD机型上可以做到请求毛刺99.5% < 50ms,以及新上线的表内冷热分离可以加速热数据访问性能、减少冷数据存储成本并且在API上对用户透明。为了进一步满足客户在可用性以及低延迟上的诉求,阿里云HBase将提供以主备架构为平台,以冗余、并发、隔离、降级等全方位服务为支撑的高可用解决方案,目标提供99.99%可用性、99.9%请求小于50ms。目前高可用项目一期已经完成,本文将介绍主备架构以及一键切换能力。

 

HBase单集群可用性
-----------

一个HBase系统包含了Zookeeper、HDFS、HBase三个组件。其中Zookeeper在数据和计算上都进行了冗余,且是一个可自愈系统,单节点故障可在秒级恢复。HBase对Zookeeper是轻依赖,一般不会出现大问题。HDFS是一个Master-Slave模式的分布式文件系统,存在中心节点Namenode,Namenode支持以HA方式部署,单Namenode故障可秒级恢复,在两个NN都宕机的情况下依然可以重启自愈,但恢复时间取决于回放日志大小,在分钟级别。数据多副本冗余,Datanode单节点宕机不中断服务。HBase也是一个Master-Slave模式的分布式系统,其中HMaster不参与读写路径,因此HMaster宕机不中断服务,但长期宕机会影响负载均衡、Failover等能力,HMaster支持HA方式部署。HBase还有一个单点是Meta服务,它随机选择一个RegionServer节点作为宿主,如果meta服务不可用则所有请求路由会失效,导致整体不可用。由于客户端有路由缓存,meta服务停机不会立即造成不可用。HBase数据分片使用Range Partition的方式,每一个Region由一个RegionServer服务,即HBase的计算服务是0冗余,因此当RegionServer故障时多个分片不可服务。HBase Failover机制可以自愈,单RegionServer宕机恢复时间在分钟级,多个RegionServer宕机恢复时间在10分钟~1小时时间不等。

![image](https://yqfile.alicdn.com/0c3736d3f9726741d34f0e5a350b8bf235028603.png)

单集群HBase高可用部署

组件

角色

高可用机制

故障影响

Zookeeper

 

数据、计算冗余

单点宕机秒级服务

HDFS

Namenode

双节点HA部署

单点宕机秒级恢复,双节点宕机恢复时间在分钟级

 

Datanode

数据、计算冗余

单点宕机不中断服务

HBase

HMaster

双节点HA部署

不影响数据读写

 

Meta服务

单点,可自愈

影响全局不可用

 

Region

单点,可自愈

局部不可用,单点分钟级恢复,多点恢复时间可达小时级别

 

内核或运行环境Bug造成HBase自愈不可控
----------------------

case1 某金融公司自建HBase因ECS重启导致WAL数据破坏,HBase Failover无法进行,集群不可用无法自愈 
case2 某视频公司自建HBase集群Meta数据陷入不一致无法恢复,造成分区无法上线,部分表不可用无法自愈 
case3 某媒体公司IO压力较大经常触发空间泄漏Bug,导致空间不足集群宕机无法自愈  
以上是真实的案例,Bug是不可避免的,未知Bug处理考验内核团队的技术实力,需要具备外科手术的能力,但其处理时间是不可预期的。

 

云HBase主备高可用方案
-------------

**故障恢复时间可预知的高可用系统,故障发生时可以在分钟级别恢复读写能力**。实现方案选择经典的主备模式,也支持主主模式。备集群部署在同城的不同机房内,在资源层面完全隔离,软件可部署不同的版本,最大程度保持两个集群的独立性。从经验数据出发,单机房故障恢复时间的上限为1个小时,在这1个小时内另一个机房也发生故障的概率非常低,有两种情况除外:第一种是城市级灾难,这个需要异地容灾方案;第二种是故障源于业务流量增长,系统过载,此时的解决方案是限流或者扩容。这两种情况不在本文设计考虑之内。系统提供一键切换能力,不需要客户端重启,每一个客户端在收到切换信号时会自动完成连接的切换,客户端的切换是并发进行的,所有客户端可以在10秒内完成切换。

**高可用方案可以独立提供给自建使用,支持自建和云HBase混合主备**。如果你已经拥有一个HBase集群,可以方便的弹出一个冗余备集群,备集群的建表和数据复制都是自动完成。当故障发生时,可以在控制台切换流量到备库,待主集群恢复后再把流量切回。云HBase高可用服务是一个独立的服务,可以看做是基于HBase之上的一个中间件,支持混合云是我们的设计原则,云上同VPC下的自建HBase、EMR HBase、云HBase可以方便的进行主备混合使用,对于IDC自建HBase或者它云上的HBase则需要用户自行解决网络联通。

**简单易用,HBase客户端从普通模式转化为高可用模式不需要修改代码**。云HBase会提供一个插件集成到HBase客户端,并且为高可用提供一个新的Endpoint。这个Endpoint就是简单的 ip+port,用来替换单集群模式下的Zookeeper地址。用户可以选择核心表进行高可用建设,非核心表依然保持单集群来降低成本。对于高可用的表,可以通过高可用客户端进行创建、修改和删除,控制台会保证主备集群元数据的一致性。目前我们支持0.96、0.98、1.x、2.x、云HBase增强版等多个版本。

 

0.96

1.x

2.x

云增强版

0.96

YES

NO

NO

YES

1.x

NO

YES

YES

YES

2.x

NO

YES

YES

YES

云增强版

YES

YES

YES

YES

 

版本主备兼容性列表

**控制台提供一键切换不需要重启客户端**,提供AliHBaseConnector作为原生HBase客户端的一个插件,插件内部会封装主备切换逻辑。客户端启动时会从BDS获取主备地址信息同时建立一个高可用的命令通道,控制台发出的切换命令通过该通道到达客户端,客户端自动的断开旧链接,打开备库链接并重试请求。

综上所述,云HBase主备高可用架构如下图:

![image](https://yqfile.alicdn.com/d5d1a3a0e46150d13949cfdd225b555c246f066b.png)

*   数据同步

云HBase并没有采用开源的Replication方案,主要的原因包括: 
HBase Replication抗热点能力差,每台机器只能处理自己的日志 
HBase Replication Failover的设计存在缺陷,导致一旦RS宕机就会出现长时间同步延迟 
HBase Replication与内核争抢资源,无法独立扩容 
HBase Replication的管理依赖表属性配置,配置项很多,在混合云模式下很难维护

BDS Replication是一个独立的数据复制服务,提供延迟百毫秒级别的双向数据同步能力。BDS Replication可以独立的扩容缩容,它不需要磁盘,可以更好的管理成本。

![image](https://yqfile.alicdn.com/ae82659c3f277e12f347c9ae5bdd6ef1459c242e.png)

*   主备一致性

云HBase主备采用的是异步复制,提供基于版本的最终一致性。写入主库的一行数据在同步到备库时,会保持和主库一致的版本号。云HBase高可用目前仅支持最终一致性切换,在切换时主备可能存在秒级的不一致。对于风控、推荐、画像类的应用,最终一致性是满足需求的。如果您使用了CheckAndPut、CheckAndDelete这样的接口则会出现一致性问题,此种情况请联系云HBase提供技术咨询。

*   配置服务

配置服务有两个作用,存储主备集群的地址信息和通知切换命令。高可用客户端在启动时会访问该服务加载主备集群地址信息。通过控制台执行的切换命令也会由配置服务通知所有的客户端。配置服务本身采用了冗余来保障存储和消息的高可用。

*   监控

高可用服务可以实时显示主备集群的状态。主、备角色在初始配置时确定不能更改,但状态"active/standby"是可变化的,处于"active"状态的集群是目前客户端访问的集群。提供主备集群双向同步链路的实时延迟展示,同时提供客户端链接数量监控,使得用户可以准确的判断切换进度。

 

云HBase高可用使用方式
-------------

如果您已经使用了云HBase并且希望增加一个备库,只需如下步骤 
1 购买一个BDS集群用于管理主备 
2 购买一个空的云HBase集群作为备库 
3 输入主备两个集群的实例ID创建高可用访问地址 
4 开始您的高可用之旅

如果您使用的是ECS自建集群或者EMR HBase,希望增加一个备库,只需如下步骤

1 购买一个BDS集群用于管理主备 
2 购买一个空的云HBase集群作为备库 
3 配置域名映射和安全组(会提供相关的服务一键解决) 
4 输入主备两个集群的地址信息创建高可用访问地址 
5 开始您的高可用之旅

 

[原文链接](https://yq.aliyun.com/articles/720450?spm?utm_content=g_1000086716)

本文为云栖社区原创内容,未经允许不得转载。
分享到:
评论

相关推荐

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    在大数据处理中,高可用集群是非常重要的,Hadoop HA高可用集群可以提供高可靠性和高可用性,确保数据处理不中断。该集群由Hadoop、Zookeeper和HBase三个组件组成,每个组件都扮演着重要的角色。 二、服务器环境和...

    阿里云Hbase PPT

    阿里云HBase是阿里巴巴集团旗下的一款基于Hadoop的开源NoSQL数据库,主要针对大规模数据的实时读写和存储场景,为大数据处理提供高可靠性、高性能、可伸缩和高适应性的在线分布式数据库服务。下面将结合提供的文件...

    2.阿里云HBase X-Pack数据存储检索分析平台.pdf

    在企业级备份方面,云HBase提供了无源集群影响、支持大规模集群备份、RPO和RTO的严格控制(即恢复点目标和恢复时间目标)等功能,满足企业对数据安全和容灾的需求。备份恢复机制保证了数据的安全性和可恢复性,支持...

    高可用HBase的技术实践

    为了确保系统的高可用性,阿里巴巴还对HBase的访问链路进行了优化: 1. **监视机制**:通过Web UI、监控工具以及报警系统监测系统状态。 2. **健壮性提升**:通过各种手段提高系统的健壮性,力求减少故障发生概率。 ...

    Hbase高可用集群的安装.docx

    Hbase高可用集群的安装是云存储技术中的一个重要组件,旨在提供高可用、可靠、可扩展的分布式数据库解决方案。本文将指导读者完成Hbase高可用集群的安装,包括Hbase的基本安装配置、高可用完全分布模式的配置、...

    阿里云 专有云企业版 V3.8.2 云数据库HBase版 开发指南 20200416.pdf

    阿里云专有云企业版V3.8.2的云数据库HBase版开发指南主要针对的是阿里云的HBase服务,这是一个分布式、高吞吐量、面向列的NoSQL数据库,特别适合处理大规模数据。HBase是构建在Hadoop之上的,提供了实时的数据访问和...

    数字中国行——阿里云HBase全新X-Pack让NoSQL数据库再上新台阶.pdf

    在企业级特性方面,阿里云HBase还具备了高数据可靠性,通过SLA保障了99.9%的单集群可用性,甚至高达99.99%的双集群可用性。另外,文档提到单行写的性能指标达到了0.2K99.9,单行读的平均性能小于5ms。 在技术支持...

    HBase集群环境搭建

    HBase集群环境搭建 HBase集群环境搭建是大数据技术中的一个重要环节,本文将详细介绍HBase集群环境搭建的步骤和配置过程。以下是HBase集群环境搭建的详细...该环境将提供高可用的HBase服务,以满足大数据技术的需求。

    Hbase 高可用分布式搭建

    在大数据处理领域,HBase作为一个基于Hadoop的分布式非关系型数据库,因其高效、可扩展性和高可用性而被广泛应用。本篇文章将深入探讨如何进行HBase的高可用分布式搭建,以便实现数据存储和访问的稳定性与可靠性。 ...

    监控HBase集群

    HBase是一个分布式的NoSQL数据库,监控HBase集群对于确保系统的高可用性和性能非常重要。在这里,我们将讨论如何使用Java代码来实现HBase集群的监控。 监控HBase集群的重要性: 在生产系统中,运维人员需要监控...

    HBase专场:阿里云HBase产品体系架构及特性解析(封神).pdf

    HBase on OSS利用阿里云对象存储服务(OSS)作为底层存储,提供了无限的存储空间,可以满足TB、PB级的存储需求。在写吞吐方面,HBase能够高效率地处理数据写入操作,不受固态硬盘(SSD)随机写入放大问题的影响。...

    基于集群的HBase安装和配置

    - **集群管理**:确保集群中服务的高可用性,例如通过选举机制确定当前活动的NameNode或HBase Master。 - **状态同步**:在集群中保持各个节点之间的状态同步,尤其是在故障转移场景中。 - **配置管理**:存储...

    在多租户环境中提高HBase可用性.pdf

    在多租户环境中提高HBase可用性主要涉及对HBase服务在云计算环境下的性能优化、故障处理、资源管理以及系统监控。以下是知识点的详细解释: 1. 多租户环境:在云计算平台中,多租户环境是指一个平台上运行着多个...

    阿里云 专有云企业版 V3.8.1 云数据库HBase版 用户指南 20190910阿里云 专有云企业版 V3.8.1 云数据库

    阿里云专有云企业版V3.8.1云数据库HBase版是一款专为企业设计的分布式非关系型数据库服务,它基于Apache HBase并结合了阿里云的技术优势,为企业提供了大规模、高并发、低延迟的数据存储和处理能力。HBase是为处理...

    阿里云 专有云企业版 V3.6.2 云数据库HBase版 用户指南 - 20181228.pdf

    阿里云专有云企业版V3.6.2的云数据库HBase版用户指南主要针对的是使用阿里云HBase服务的企业和技术人员。阿里云HBase是一款基于Apache HBase的分布式列存储数据库,适用于大规模结构化数据存储和实时查询场景。 在...

    阿里云 专有云企业版 V3.7.1 云数据库 HBase 开发指南 20190320.pdf

    阿里云HBase是基于Apache HBase的云数据库服务,它提供了高可用性、高扩展性和高性能的数据存储解决方案。HBase特别适合处理大规模的非结构化和半结构化数据,如日志、用户行为数据、物联网(IoT)数据等。 2. **...

    阿里云 专有云企业版 V3.9.0 云数据库HBase版 用户指南 20191017.pdf

    - 云数据库HBase版提供了在阿里云环境中运行的高可用、高性能的HBase服务。 - 快速入门部分通常会涵盖如何登录HBase控制台,创建和管理表,以及执行基本的增删查改操作。 4. **操作流程**: - 用户可能需要学习...

Global site tag (gtag.js) - Google Analytics