常用的HBASE数据迁移目前的方案有非常多种,本文主要介绍两种一种为Hadoop手动数据迁移,另一种为Snapshot数据迁移
原理不多介绍,直接实战
一、Hadoop层手动数据迁移
需要注意:
1.Hadoop/hbase版本也要注意是否一致,如果版本不一致,最终load表时会报错
2.迁移实时写的表,最好是停止集群对表的写入,在以下方式需要迁移的表为Test
步骤说明:将需要迁移的数据表传输到临时目录,再copyFromLocal到hdfs修复元数据
第一步:新建个临时文件夹 /opt/hbaseDataTest/Test
第二步:在需要迁移的集群.hadoop/bin目录下 执行
./hadoop fs -copyToLocal /hbase/data/default/Test /opt/hbaseDataTest/Test
第三步:在目标的集群.hadoop/bin目录下 执行
./hadoop fs -copyFromLocal /opt/hbaseDataTest/Test /hbase/data/default/Test
第四步:在hbase/bin 执行
./hbase hbck -fixMeta 修复meta表数据
第五步: 在hbase/bin 执行
./hbase hbck -fixAssignments 重新分配数据到各个RegionServer
第六步:检查表数据是否OK
<