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表