两个hbase集群间同步数据

时间:2025-02-09 09:03:50

一.准备阶段

1.准备2套能正常运行的hbase集群(new cluster:222|oldcluster:226)

2.2套集群的hosts文件内容都需要包含对方的主机地址

可以单独部署2个集群,也可用一个zookeeper集群管理2套hbase集群,就是不能用hbase自带的zookeeper集群做管理

、hbase等组件版本号保持一致

二.配置阶段

1.修改222集群的文件

添加如下内容:

<property>

<name></name>

<value>true</value>

</property>

2.在222集群上添加peer

./hbase shell add_peer'1','172.16.205.226:2181:/hbase' 执行该命令会报错,但是不影响执行结果,如果不想让其有报错提示,可进入zookeeper将peerid删除,再执行此命令就行了

3.启动复制 ./hbase shellstart_replication 执行该命令也会报错,不予理会。若想看看状态是否被开启,同样进入zookeeper查看state

4.创建表 在两套集群创建同样的表(结构需要完全一样)

5.在226上添加replication属性,并刷新其结构

disable 'your_table'

alter 'your_table', {NAME =>'family_name', REPLICATION_SCOPE => '1'}

enable 'your_table'

6.测试数据同步

在226上put一条数据进hbase

222上将能在随后被scan到

小贴士:

该配置模式是主备模式,也就是说,可以从226同步到222上,但是反向操作是不行的。