欢迎投稿

今日深度:

hbase数据迁移,

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}

,进行表数据量核对;

 

转载请注明出处!!

 

www.htsjk.Com true http://www.htsjk.com/hbase/40712.html NewsArticle hbase数据迁移, HBase 数据迁移 一、备份hbase表数据(源hbase集群服务器) 1.在当前hbase集群(数据源),选定要数据表名;  例如表名为:hbdss 2.导出表数据(以下步骤2-5以hadoop用户登录...
相关文章
    暂无相关文章
评论暂时关闭