MAPREDUCE服务 MRS-使用HBase双读:操作场景

时间:2023-11-13 09:56:24

操作场景

HBase客户端应用通过自定义加载主备集群配置项,实现了双读能力。HBase双读作为提高HBase集群系统高可用性的一个关键特性,适用于四个查询场景:使用Get读取数据、使用批量Get读取数据、使用Scan读取数据,以及基于二级索引查询。它能够同时读取主备集群数据,减少查询毛刺,具体表现为:
  • 高成功率:双并发读机制,保证每一次读请求的成功率。
  • 可用性:单集群故障时,查询业务不中断。短暂的网络抖动也不会导致查询时间变长。
  • 通用性:双读特性不支持双写,但不影响原有的实时写场景。
  • 易用性:客户端封装处理,业务侧不感知。

HBase双读使用约束:

  • HBase双读特性基于Replication实现,备集群读取的数据可能和主集群存在差异,因此只能实现最终一致性。
  • 目前HBase双读功能仅用于查询。主集群宕机时,最新数据无法同步,备集群可能查询不到最新数据。
  • HBase的Scan操作可能分解为多次RPC。由于相关session信息在不同集群间不同步,数据不能保证完全一致,因此双读只在第一次RPC时生效,ResultScanner close之前的请求会固定访问第一次RPC时使用的集群。
  • HBase Admin接口、实时写入接口只会访问主集群。所以主集群宕机后,不能提供Admin接口功能和实时写入接口功能,只能提供GetScan查询服务。
support.huaweicloud.com/devg-lts-mrs/mrs_07_290067.html