hbase基于快照的数据迁移

By | 2018年12月31日

hbase基于快照的数据迁移

前期准备

1.        对于开启安全认证(kerberos)的集群,首先需要关掉安全认证。

2.        在源集群所有节点/etc/hosts文件中配置目标集群所有节点的host。

源集群操作

开启HBase快照

1.   登录Ambari检查hbase-site.xml中的hbase.snapshot.enabled是否设置为true,确认打开了快照许可。

新建快照

1.        源集群,登陆hbase shell控制台,使用list_snapshot命令,列出所有的快照。会展示出快照名称,源表,以及创建日期和时间上。

2.        在第1步快照列表中不存在的情况下,执行生成hbase表镜像文件命令

3.        执行“list_snapshots”再次查看所有的hbase的快照列表,确认新的快照已经生成。

快照复制

1.        源集群,查看要迁移的hbase表的数据结构,记录下列族信息、版本信息等内容,可从shell控制台查看,也可以hbase webUI中查看。

2.        从源集群往目标集群拷贝快照(这里用hdfs用户)

1)        不覆盖目标集群同名快照

/usr/hdp/2.3.4.7-4/hbase/bin/hbaseorg.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snap_table_test1 -copy-to  hdfs://10.106.1.165:8020/apps/hbase/data

2)        覆盖目标集群同名快照

/usr/hdp/2.3.4.7-4/hbase/bin/hbaseorg.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snap_table_test1 -copy-to  hdfs://10.106.1.165:8020/apps/hbase/data 
-overwrite

目标集群操作

修改权限

1.        修改hdfs下hbase数据文件的权限(hdfs用户登录)。

         hadoopfs -chmod -R 777 /apps/hbase/data

         hadoopfs -chown -R hbase:hdfs /apps/hbase/data/

新建表

1.        根据旧集群hbase标的describe信息,在新集群创建同样的hbase表(必须同名

create’table_test1′, {NAME => ‘cf’}

快照还原表

1.        shell控制台中,执行

disable  ’ table_test1’

         restore_snapshot  ‘snap_ table_test1

enable ‘ table_test1’

2.        通过count命令校验数据

         count’ table_test1′

发表评论