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。
操作步驟
連接HBase。
通過SSH方式登錄主集群,詳情請參見登錄集群。
執行以下命令,連接HBase。
hbase shell
在主集群上添加peer。
add_peer '100', CLUSTER_KEY => "${slave_zk}:${port}:/hbase"
說明${slave_zk}
和${port}
是備集群的Zookeeper內網地址和端口。修改表復制屬性。
以主集群上table1表為例,修改其列族cf1復制屬性,命令如下所示。
alter 'table1', {NAME => 'cf1', REPLICATION_SCOPE => '1'}
將table1表cf1列族的
REPLICATION_SCOPE
修改為1,table1表cf1列族新增的數據將自動復制到備集群。說明Replication不能復制DDL操作,所以備集群需要創建相同的表。
數據復制驗證。
給主集群table1添加新數據。
put 'table1', 'r3','cf1:q','bar'
驗證備集群數據。
登錄備集群節點,查看備集群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。
相關文檔
開啟串行Replication,請參見Serial Replication。
開啟同步Replication,請參見Synchronous Replication。