文档

HBase Replication

更新时间:

HBase可以基于Replication功能将实时写入的数据从主集群复制到备集群,从而提高HBase数据的可靠性和数据访问的扩展性。HBase目前支持异步Replication、串行Replication和同步Replication。本文为您介绍如何开启HBase的异步Replication功能。

注意事项

  • HBase 1.x版本,如果要启用Replication,首先需将主、备集群的hbase.replication的参数值设置为true,然后重启主、备集群;HBase 2.x版本的hbase.replication已经移除,无需设置。

  • HBase是以列族为单位设置对应属性来决定是否启用Replication。

前提条件

  • 已创建数据服务场景(DataServing)的主集群和备集群,详情请参见创建集群

  • 已在主、备集群中,分别创建HBase数据表,详情请参见使用HBase Shell

    说明

    本文示例中,HBase数据表名为table1。

操作步骤

  1. 连接HBase。

    1. 通过SSH方式登录主集群,详情请参见登录集群

    2. 执行以下命令,连接HBase。

      hbase shell
  2. 在主集群上添加peer。

    add_peer '100', CLUSTER_KEY => "${slave_zk}:${port}:/hbase"
    说明

    ${slave_zk}${port}是备集群的Zookeeper内网地址和端口。

  3. 修改表复制属性。

    以主集群上table1表为例,修改其列族cf1复制属性,命令如下所示。

    alter 'table1', {NAME => 'cf1', REPLICATION_SCOPE => '1'}

    将table1表cf1列族的REPLICATION_SCOPE修改为1,table1表cf1列族新增的数据将自动复制到备集群。

    说明

    Replication不能复制DDL操作,所以备集群需要创建相同的表。

  4. 数据复制验证。

    1. 给主集群table1添加新数据。

      put 'table1', 'r3','cf1:q','bar'
    2. 验证备集群数据。

      登录备集群节点,查看备集群table1表是否已经复制了新数据,命令如下所示。

      get 'table1','r3'
      COLUMN                                               CELL
       cf1:q                                                timestamp=2022-12-08T17:05:20.392, value=bar
      1 row(s)

      备集群存在对应数据,说明异步Replication开启成功。

      说明

      如果要对大批量复制数据进行验证,可以使用VerifyReplication工具验证,该工具使用详情请参见Verifying Replicated Data

相关文档