EMR WAL 跨集群复制 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

EMR WAL 跨集群复制

从 EMR 7.5 开始,EMR WAL 支持预写日志的 HBase 跨集群复制。本主题介绍如何启用该功能并检查其是否正常工作。有关集群复制的更多详细信息,请参阅 A HBase pache 文档中的集群复制

注意

由于复制过程会从本地 EMR WAL 读取数据,因此预写日志会产生额外的读取成本。有关成本的更多详细信息,请参阅关于 Amazon EMR 发行版

跨集群复制设置

为了获得相同的用户体验,在 EMR WAL 上启用复制功能与使用本机预 HBase 写日志相同。以下过程显示了一个简单示例。有关更多信息,请参阅集群复制中的 HBase 文档。

  1. 启动一个主集群(作为复制源),并启用 EMR WAL。要启用预写日志,请参阅启用 Amazon EMR WAL。此外,启动一个对等集群。对于此对等集群,您可以选择是否启用 EMR WAL。

  2. 在两个集群上,创建一个表:

    HBASE_CMD="sudo -u hbase hbase" echo "create 'test_replication_table',{NAME => 'CF'}" | $HBASE_CMD shell
  3. 在主集群上添加对等集群设置并启用表复制。在添加对等节点期间,需要对等集群主节点主机名,即 PEER_DNS

    HBASE_CMD="sudo -u hbase hbase" PEER_DNS="ip-10-1-1-0.ec2.com" PEER_NAME="aws" TABLE_NAME="test_replication_table" ## Create peering with the destination cluster echo "add_peer '$PEER_NAME', CLUSTER_KEY => '$PEER_DNS:2181:/hbase'" | $HBASE_CMD shell ## List peers in the primary cluster to confirm peer setup echo "list_peers" | $HBASE_CMD shell ## Enable table replication echo "enable_table_replication '$TABLE_NAME'" | $HBASE_CMD shell

确认跨集群复制

执行设置步骤后,在主集群和对等集群之间启用复制。接下来进行测试,确认复制正常工作。

  1. 在主集群上添加数据,并验证复制到对等集群的数据。

    ## Write on primary cluster with HBase CLI put 'test_replication_table', 'aaa', 'CF:a', 'aaa_a1' put 'test_replication_table', 'bbb', 'CF:b', 'bbb_b1' put 'test_replication_table', 'ccc', 'CF:c', 'ccc_c1'
  2. 确认在对等集群上复制成功。在这种情况下,您应该会看到从主集群复制到对等集群的数据。

    ### Scan on peer cluster with HBase CLI scan 'test_replication_table'