不停机迁移
更新时间:2022-12-01
注意:为了保证数据安全,如果您需要不停机迁移您的数据至云数据库HBase产品,请提交工单,我们会为您开放相关接口
工具介绍
Snapshot
Snapshot的相关信息可参照使用Snapshot工具进行数据迁移。
Replication
Replication是一种集群复制机制,允许使用源集群的预写日志(WAL)来传播更改,从而使两个集群的状态保持一致。Replication的常见应用场景诸如容灾备份和恢复/数据离线处理等。
Replication的更多详细信息可参照官方文档Cluster Replication。
VerifyReplication
VerifyReplication工具被用于确认Replication的状态。具体介绍可参照官方文档VerifyReplication。
迁移优势
- 迁移时基本不需要停机
迁移示例
- 购买一台BCC,在BCC中下载并配置HBase shell工具包,令其能够链接源集群与目标集群。
- 确保目标集群内没有与待迁移表格相同名字的表;确保两个集群能够互相连通。
- 在源集群中执行添加目标集群,并开启replication。其中$PEER_ZK表示目标集群的Zookeeper地址。
# here '100' is peer_cluster_id
add_peer '100', CLUSTER_KEY => '$PEER_ZK1,$PEER_ZK2,$PEER_ZK3:2181:/hbase', SERIAL => true
# table_name='t1', column_family_name='f1'
alter 't1',{NAME=>'f1',REPLICATION_SCOPE=>'1'}
- 在源集群使用Snapshot工具,将存量数据import到目标集群中。
- 等待一段时间,让目标集群处理完积压的WAL。
- 使用VerifyReplication工具查看两个集群是否保持同步。
hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication -mappers 10 -bandwidth 1024 $peer_cluster_id $table_name
- 两个集群基本保持同步后,关闭源集群的写权限,等待两个集群完全同步后开启目标集群的写权限,迁移完成。