HBase不停旧表读写迁移方案


1.新集群建表,region split要和旧集群一样,并且授权


2.老集群增加目标集群peer配置:
在老集群增加目标集群对应的peer(第一个参数:自定义的集群peerId,比如新集群peerId我定义为1。第二个参数:目标集群zk以及hbase.zookeeper.quorum:hbase.zookeeper.property.clientPort:zookeeper.znode.parent)

1
add_peer '1',CLUSTER_KEY=> "zk01,zk02:2181:/hbase"


3.老集群执行,对应表对应cf,增加replication配置

1
alter 'replication_source_table',{NAME=>'对应的CF01', REPLICATION_SCOPE=>'对应集群的peerId'},{NAME=>'对应的CF02', REPLICATION_SCOPE=>'对应集群的peerId'}

执行完这个alter之后,老集群的这个表就开始写新集群对应的表了

4.老集群执行flush命令,内存中数据刷到hfile中。

5.将老集群hfile拷贝出来,进行bulkload

5.执行完bulkload,访问表正常,写切到新集群。因为不写老集群了所以replication也不复制数据了。

6.用户将读切到新集群。

7.hbase运维同学 确认信息,disable表


相关文章: