一、集群信息
1、scr集群一:
192.168.90.9 master
** ** 192.168.90.231 slave1
** **192.168.90.186 slave2
2、des集群二:
192.168.90.109 master1
192.168.90.189 slave11
192.168.90.39 slave21
说明:(1)两个集群三个节点名称不能设置一致,若名称一致会访问本集群节点名称对应的ip;
(2)在集群一/etc/hosts文件中添加集群二的节点信息。
(3) 集群一和集群二可以正常通信。可在集群一各节点依次使用ping命令测试。
二、在集群运行的时候进行数据复制迁移
1、在集群一将需要复制迁移的表属性进行修改,hbase shell中操作:
(1)disable 'your_table'(如:disable ‘music’)
disable ‘music’
(2)alter 'your_table', {NAME => 'family_name', REPLICATION_SCOPE => '1'}
(如:alter 'music', {NAME => 'info', REPLICATION_SCOPE => '1'}
alter 'music', {NAME => 'info', REPLICATION_SCOPE => '1'}
(3)enable 'your_table' (如:enable ‘music‘)
enable ‘music‘
2、打开des集群二的replication, hbase-site.xml添加以下信息后复制到hadoop/etc/hadoop目录下,同时各节点复制。
<property>
<name>hbase.replication</name>
<value>true</value>
</property>
hbase shell建表test,列族为info:
create ‘test’,’info’
create ‘test’,’info’
说明:各节点regionserver确保启动,如未启动,可手动启动:
hbase-daemon.sh start regionserver
3、添加peer,在des集群二的hbase shell中执行:add_peer '1','old cluster ip:2181:/hbase'
如:
add_peer '1',CLUSTER_KEY=>'192.168.90.9,192.168.90.231,192.168.90.186:2181:/hbase'
add_peer '1',CLUSTER_KEY=>'192.168.90.9, 192.168.90.231, 192.168.90.186:2181:/hbase'
4、从scr集群一中拷贝的数据到des集群二, scr集群一执行命令;
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --starttime=1265875194289 --endtime=1265878794289 --peer.adr=server1,server2,server3:2181:/hbase TestTable
例1:hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=192.168.90.9, 192.168.90.231, 192.168.90.186:2181:2181:/hbase --new.name=test music
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=192.168.90.9, 192.168.90.231, 192.168.90.186:2181:2181:/hbase –new.name=test music
说明:test是集群二中的表,music是集群一中的表。集群二hbase shell查看test表数据,成功复制迁移。
例2、集群多版本数据复制
集群2hbase shell执行:
create ‘testtime’,{NAME=>’StuInfo’,VERSIONS=>8},{NAME=’Grades’,VERSIONS=>8}
create ‘testtime’,{NAME=>’StuInfo’,VERSIONS=>8},{NAME=’Grades’,VERSIONS=>8}
集群1:hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=192.168.90.9, 192.168.90.231, 192.168.90.186:2181:2181:/hbase --starttime=2 --endtime=5 --versions=3 --new.name=testtime StudentInfo
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=192.168.90.9, 192.168.90.231, 192.168.90.186:2181:2181:/hbase --starttime=2 --endtime=5 --versions=3 --new.name=testtime StudentInfo
说明:此时未修改StudentInfo表中两个列族的REPLICATION_SCOPE属性,REPLICATION_SCOPE=>'0'。
集群2hbase shell执行:scan ‘testtime’,VERSIONS=>3
scan ‘testtime’,VERSIONS=>3
版权归原作者 灿烂猎人 所有, 如有侵权,请联系我们删除。