Hbase迁移方法较多,本次使用的是逆向恢复,即直接将hbaes数据目录get到本地,并put到新集群的hdfs目录下,并进行元数据恢复,简单粗暴,以下为详细步骤:
1. 在源集群上将hbase表整个目录get到本地磁盘
hdfs dfs -get /hbase/data/namespace/tablename
2. 将本地磁盘的数据put到目标hbase集群的hdfs目录下
hdfs dfs -put ./tablename/hbase/data/namespace
3. 通过hbase自带的修复命令做逆向恢复
hbase hbck -fixMeta -ignorePreCheckPermission namespace:tablename
hbase hbck -fix -ignorePreCheckPermission namespace:tablename
修复时执行第一个命令后,可以在hbase上看到这张表,但没有数据,且状态为INCONSISTENT,如下:
执行第二个命令后,表状态显示为OK,则迁移成功,如下:
--------------------------------END --------------------------------
希望对大家有帮助,有问题多交流