创建主备双活实例

云数据库HBase主备节点分别部署在同一地域下两个不同的可用区,当任一可用区因电力、网络等不可抗因素失去通信时,高可用HA系统会执行故障切换,确保整个节点的持续可用。您可以使用LTS数据通道服务完成主备节点之间实时增量数据双向同步,本文介绍如何创建主备双活实例(即高可用实例)。

前提条件

  • 已创建云数据库HBase或者自建HBase主备实例,云数据库HBase的创建操作请参见购买HBase实例

  • 已创建LTS实例,具体操作请参见购买LTS

  • 已把客户端IP添加至云数据库HBase主备实例和LTS实例,具体操作请参见设置白名单。如果主实例或者备实例为自建HBase实例(例如EMR HBase实例),为了使LTS实例能够访问自建HBase实例,需要把LTS实例的安全组规则添加至ECS客户端中,具体操作请参见准备工作

背景信息

有关主备方案的介绍请参见主备容灾原理介绍

功能优势

  • 支持多种类型的主备实例,包括云数据库HBase、EMR HBase和自建HBase的混合场景。

  • 支持多版本HBase,包括1.x、2.x等版本。

  • 自动管理数据同步,延迟在百毫秒级。

  • 故障自动容错。

  • 可视化运维,通过LTS页面可以查看同步延迟、客户端连接数量、主备实例状态等详细信息。

使用限制

  • 仅支持同一VPC内跨可用区部署方式。

    说明

    LTS实例与HBase主备实例处于同一VPC,同时LTS实例与HBase主备实例在不同的可用区。如果没有多余的可用区,LTS实例建议购买在HBase备实例所在的可用区。

  • 2019年09月18日后创建的LTS服务支持主备双活功能。

  • 主备实例数据同步支持最终一致性模型,暂时不支持强一致模型。

  • 仅支持HBase服务切换,不支持Phoenix,Solr切换。

准备工作

如果是自建HBase实例(例如EMR HBase实例),为了使LTS实例能够访问EMR HBase实例,需要把LTS实例的安全组规则添加至ECS客户端中。操作步骤如下:

  1. 登录LTS操作页面,具体操作请参见登录LTS

  2. 单击页面右上角的配置管理,进入配置信息修改页面。

  3. 单击生成安全组规则,下载LTS实例的安全组规则到本地,例如安全组规则名称为1641978974138_securityrule。

  4. 在EMR HBase实例所属的安全组规则中导入LTS实例的安全组规则。

    1. 登录阿里云E-MapReduce控制台

    2. 单击目标实例ID,进入集群基础信息页面。

    3. 安全区域,单击安全组ID,进入ECS的安全组规则页面。

    4. 访问规则区域,单击导入安全组规则

    5. 导入安全组规则对话框中,单击选择文件

    6. 导入LTS实例的安全组规则,并单击开始导入。成功导入安全组规则后,允许LTS实例访问EMR HBase实例。

  5. 把EMR HBase实例的IP地址添加至LTS实例的配置中。

    1. 登录ECS客户端(已连接EMR HBase实例)。

    2. 执行以下命令查看EMR HBase实例的IP地址和域名。

      /etc/hosts
    3. 步骤2配置信息修改页面,把EMR HBase实例的IP地址和域名填写至bds.conf.hosts配置项的现有值。

    4. 单击修改

操作步骤

  1. 登录HBase管理控制台
  2. 在顶部菜单栏的左上角,选择实例所属的地域。
  3. 集群列表页,单击LTS实例ID。

  4. 在左侧导航栏选择主备双活管理

  5. 单击添加主备双活实例,在添加主备双活实例对话框中,配置以下参数。

    参数

    说明

    主实例

    主实例分为云数据库HBase实例和自建HBase实例两种,填写方法如下:

    • 主实例为云数据库HBase实例,直接选择主实例ID。

    • 主实例为自建HBase实例,需要填写自建实例的zk链接地址,格式为zk1,zk2:port:/hbase

    主实例用户名

    如果主实例为云数据库HBase增强版,需要填写主实例的用户名,默认为root。

    主实例密码

    如果主实例为云数据库HBase增强版,需要填写主实例用户名对应的用户名密码,默认为root。

    主实例名

    如果主实例为自建HBase实例,需要填写主实例名,可以自定义。

    主HDFS地址

    如果主实例为自建HBase实例,需要填写HDFS地址,格式为hdfs://namenode1:port,namenode2:port

    主HBase版本

    如果主实例为自建HBase实例,选择自建HBase的版本。

    主HBase根目录

    如果主实例为自建HBase实例,需要填写自建HBase的根目录,例如hdfs://hbase-cluster/hbase

    备实例

    备实例分为云数据库HBase实例和自建HBase实例两种,填写方法如下:

    • 备实例为云数据库HBase实例,直接选择备实例ID。

    • 备实例为自建HBase实例,需要填写自建实例的zk链接地址,格式为zk1,zk2:port:/hbase

    备实例用户名

    如果备实例为云数据库HBase增强版,需要填写备实例的用户名,默认为root。

    备实例密码

    如果备实例为云数据库HBase增强版,需要填写备实例用户名对应的用户名密码,默认为root。

    备实例名

    如果备实例为自建HBase实例,需要填写备实例名,可以自定义。

    备HDFS地址

    如果备实例为自建HBase实例,需要填写HDFS地址,格式为hdfs://namenode1:port,namenode2:port

    备HBase版本

    如果备实例为自建HBase实例,选择自建HBase的版本。

    备HBase根目录

    如果备实例为自建HBase实例,需要填写自建HBase的根目录,例如hdfs://hbase-cluster/hbase

    同步类型

    如果备实例为新创建的实例,主备双活功能支持一键同步,选择同步的类型。

    • 实例级别:表示同步主实例中的全部表。

    • 表级别:表示同步主实例中指定的表。

    • 无需同步:如果备实例为已有实例同时已开启实时同步功能,可以选择无需同步。

    同步表

    如果同步类型选择表级别,输入需要同步的表名,多张表使用英文逗号(,)分隔。

  6. 单击确定,可以查看高可用实例ID和高可用实例连接地址。

    查看高可用实例