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'