HBASE的备份策略(数据迁移)

来源:互联网 发布:钻石净度分级标准知乎 编辑:程序博客网 时间:2024/05/22 09:49

1.利用hbase本身提供的接口执行导出表操作

导出操作:./hbase org.apache.hadoop.hbase.mapreduce.Driver export表名"hdfs://192.168.x.x:9000/111"   本地路径或者hdfs的路径

导入操作:./hbase org.apache.hadoop.hbase.mapreduce.Driver import表名(已经建好的表)"hdfs://192.168.x.x:9000/111"   本地路径或者hdfs的路径

2.网络不通的情况下执行复制根目录操作

① 在源hbase停掉的情况下从源hbase中复制hbase数据库表到本地(该目录即hbase-site.xml中配置的hbase.rootdir

hadoop bin下        执行操作./hadoop fs -get "hdfs://master:9000/hbase" /home/neokylin/222hbase,其中"hdfs://master:9000/hbase"也可以是本地目录,本地目录时不加引号

② 远程复制到目标hbasehbase.rootdir路径下

在目标主机上执行操作scp -r neokylin@192.168.x.x:/home/neokylin/

hbase  /opt/hbase(注意修改目标hbasehbase-site.xmlhbase.rootdir)

③ 格式化hadoop,重启hadoophbase,在hbase shell 下执行list可以看到源hbase中所建的表,然而并不能浏览数据

④ 修复.meta,即表的元数据文件

    hbase下执行操作bin/hbase hbck -fixMeta

⑤ 重新分配数据到各RegionServer

hbase下执行操作bin/hbase hbck -fixAssignments

注:实际在执行的过程中直接将hbase的根目录文件复制到迁移目标主机hbase.rootdir目录下,启动hadoophbase,进入hbase shell,执行listscan和命令即可看到表数据(几次尝试45可能不需要执行)

原创粉丝点击