一、环境
集群名称 | 服务器名称 | Ip地址 | 角色 |
ns1 | master1 | 192.168.80.182 | HRegionServer,HMaster |
master2 | 192.168.80.183 | HRegionServer,HMaster | |
slave | 192.168.80.184 | HRegionServer | |
ns2 | master3 | 192.168.80.185 | HRegionServer,HMaster |
master4 | 192.168.80.186 | HRegionServer,HMaster | |
slave2 | 192.168.80.187 | HRegionServer |
二、数据备份
1.停机备份
- distcp:使用distcp方式备份时,需要禁用需要备份的表或者停止hbase服务,hbase数据存放目录为/hbase
a. 创建备份目录
b.将集群ns1下的/hbase目录备份到/backup下
c.查看是否备份成功
d.恢复数据命令:hadoop distcp hdfs://ns1:8020/backup hdfs://ns1:8020/hbase
2.联机备份
- copytable:支持hbase运行时备份数据。
a.查看源端表数据
b.创建目标表,同为cf1列簇
c.备份数据
d.查看数据是否备份成功
e.恢复数据命令:hbase org.apache.hadoop.hbase.mapredue.CopyTable --new.name=highgo highgo_tar
- export/import
a.将highgo表备份到/backup/highgo
b.查看是否备份成功
c.将表数据还原到hbase的highgo表中(需要先在目标端创建表)
e.查看是否导入成功
- replication
a.vi $HBASE_HOME/conf/hbase-site.xml修改hbase配置文件(所有 hbase服务器,包括客户端节点),添加如下:
<property>
<name>hbase.replication</name>
<value>true</value>
</property>
#重启hbase
b.修改主集群和从集群的hbase服务器hosts文件,添加:
主集群:192.168.80.185 master3
从集群:192.168.80.182 master1
c.主集群和从集群创建表,并启用复制功能
d.在主集群中,增加一个对等复制集群
e.在主集群中插入数据
f.分别查看主集群和从集群