hbase数据迁移

HBase数据迁移

一、备份hbase表数据(源hbase集群服务器)

1.在当前hbase集群(数据源),选定要数据表名;

 例如表名为:hbdss

2.导出表数据(以下步骤2-5以hadoop用户登录)

按照1、中的表名列表,分别执行如下命令

sudo -u hbase hbase org.apache.hadoop.hbase.mapreduce.Export  hbdss /hbase/hbdss

3.在服务器建立临时备份数据文件夹,例如

mkdir -p /hbase/hbase-data-bak

4.复制(2、)备份表文件

执行cd /hbase/hbase-data-bak

分别执行如下:

hdfs dfs -copyToLocal /hbase/hbdss .

5.备份文件清理

分别执行以下:

hdfs dfs -rm -r -f /hbase/ hbdss

二、还原hbase表数据(目标hbase集群服务器)

1.将(一、3)中的hbase数据文件到当前hbase集群服务器上,

例如复制到的目录为/hbase/hbase-data-bak(需开放hadoop用户读取权限

2.复制hbase数据到hbase集群(以下步骤2-5以hadoop用户登录,CDH方式安装使用hdfs用户)

su - hdfs

cd /hbase/hbase-data-bak

hdfs dfs -mkdir /hbase (也可以查看hdf系统有哪些目录,使用已有目录也可以hdfs dfs -ls / )

hdfs dfs -copyFromLocal /hbase/hbase-data-bak/hbdss  /hbase/hbdss-export-1

3.创建hbase表,执行

执行hbase shell

执行如下:

create 'hbdss', 'd'

4.还原hbase表数据

sudo -u hdfs hbase org.apache.hadoop.hbase.mapreduce.Import hbdss /hbase/hbdss-export-1

(若提示hdfs不在sudoers文件中。此事将被报告 的信息,使用root用户执行visudo命令在打开的文件中,找到下面这一行: 
root ALL=(ALL) ALL 
并紧帖其下面,添上 
hdfs ALL=(ALL) ALL)

5.备份文件清理

执行以下:

hdfs dfs -rm -r -f /hbase/hbdss-export-1

6.还原数据验证查看

Hbase表数据还原完成后,

执行hbase shell

登录到hbase终端,

运行(hbdss代表表名)

scan 'hbdss', {LIMIT=>10}

抽样查看有无数据;

也可通过执行

count 'hbdss',{CACHE=>10000}

,进行表数据量核对;

 

转载请注明出处!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值