hbase数据导出导入,数据备份,数据迁移(仅解决非通信集群)

如题,只说明非通信集群,hbase版本是1.1.10,属于1.1.x系列,跨大版本这个事情另外讨论,参考官网。

面对的环境数据量较大(就是比较小没有几个PB的意思),新老集群无法通信。二步解决,export/import大量坑,在此不表,选用手动方式。

一、导出、导入数据

copyFromLocal


Usage: hadoop fs -copyFromLocal <localsrc> URI


Similar to the fs -put command, except that the source is restricted to a local file reference.


Options:


-p : Preserves access and modification times, ownership and the permissions. (assuming the permissions can be propagated across filesystems)
-f : Overwrites the destination if it already exists.
-l : Allow DataNode to lazily persist the file to disk, Forces a replication factor of 1. This flag will result in reduced durability. Use with care.
-d : Skip creation of temporary file with the suffix ._COPYING_.
copyToLocal


Usage: hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>


Similar to get command, except that the destination is restricted to a local file reference.


找到你现在的hbase的数据在hdfs的位置

hadoop fs -copyToLocal  /hbase/data/default/表名 存放数据的路径

然后把数据转移到另外一个集群上去

Hadoop fs -copyFromLocal 准备导入的数据文件夹 /hbase/data/default/表名


值得注意的是如果是新集群,可能没有/hbase/data/default/这个文件夹,最好的方式是在hbase中建一个测试表,


查看确认下新的集群的hbase数据信息是否在对应位置。

二、修复数据meta与分区

因为分区信息发生了改变,元信息没有同步。

数据导入到指定的文件夹之后,修复分区和表的元信息,(没有使用rbuy的各种脚本,0.9之后就D了,)

hbase hbck -fixTableOrphans  表名

hbase hbck -fixMeta  表名

hbase hbck -fixAssignments  表名

hbase hbck -repair  表名


list 、scan和get命令,测试数据在新集群中时候可用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值