本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EMR WAL 跨集群复制
从 EMR 7.5 开始,EMR WAL 支持预写日志的 HBase 跨集群复制。本主题向您展示如何启用该功能并检查其是否正常运行。有关集群复制的更多详细信息,请参阅 A HBase pache 文档中的集群复制
注意
由于复制过程会从本地 EMR WAL 读取数据,因此写入日志会产生额外的读取成本。有关费用的更多详情,请参阅关于 Amazon EMR 版本。
跨集群复制设置
为了获得相同的用户体验,在 EMR WAL 上启用复制功能与使用本机预 HBase 写日志相同。接下来的过程显示了一个简单的示例。有关更多信息,请参阅集群复制中的 HBase
在启用 EMR WAL 的情况下启动主集群(即复制源)。要启用预写日志,请参阅。启用 Amazon EMR WAL此外,启动对等集群。对于这个对等集群,你可以选择是否启用 EMR WAL。
在两个集群上,创建一个表:
HBASE_CMD="sudo -u hbase hbase" echo "create 'test_replication_table',{NAME => 'CF'}" | $HBASE_CMD shell
在主群集上添加对等设置并启用表复制。在添加对等节点期间,它需要对等集群主节点主机名,即 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
确认跨集群复制
执行设置步骤后,将在主群集和对等群集之间启用复制。接下来会进行测试,确认复制工作正常。
在主群集上添加数据并验证已复制到对等群集的数据。
## 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'
确认在对等群集上成功复制。在这种情况下,您应该会看到从主集群写入到对等集群的复制数据。
### Scan on peer cluster with HBase CLI scan 'test_replication_table'