两个hbase集群间同步数据

一.准备阶段

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

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

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

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

二.配置阶段

1.修改222集群的hbase-site.xml文件

添加如下内容:

hbase.replication

true

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上,但是反向操作是不行的。

 

你可能感兴趣的:(两个hbase集群间同步数据)