2021-05-28 Hadoop和Hbase数据集群间迁移

Hadoop和Hbase数据集群间拷贝

Hadoop集群数据拷贝

 分为两种:一种为集群版本相同,使用hdfs协议
         一种为集群版本不同,使用http协议,其中源集群为低版本,目标集群为高版本。
  注:由于distcp需要执行Mapreduce任务,所以需要开启Yarn

 版本相同集群拷贝命令为(在目标集群执行):
    hadoop distcp hdfs://old_nn:8020/source hdfs://new_nn:8020/dest
 版本不同的集群拷贝命令为(在目标集群也就是高版本集群执行):
   hadoop distcp hftp://nnIp:50070/source hdfs://new_nn:8020/dest

Hbase数据拷贝

单纯Hbase数据拷贝

  首先需要使用上面描述的Hadoop集群数据拷贝的命令,完成拷贝后再执行元数据修复。
   如:
   不同集群版本:
     hadoop distcp hftp://old_nn:50070/hbase/data/default/s1 hdfs://new_nn:8020/hbase/data/default/s1
    相同集群版本:
     hadoop distcp hdfs://old_nn:8020/hbase/data/default/t1 hdfs://new_nn:8020/hbase/data/default/t1

  完成表数据的拷贝后,在**目标集群**执行如下命令:
  hbase hbck  -fixAssignments -fixMeta

Hbase(Phoenix)数据拷贝

1. 给表创建snapshot
   单个表创建snapshot,在hbase shell下执行: 
       snapshot '表名','快照名'
   批量创建snapshot,在shell中执行:
       echo "snapshot '表名1','快照名1';snapshot '表名2','快照名2';..." | hbase shell
2. 创建phonenix元数据的表快照
  其中phoenix元数据的表有如下:
    SYSTEM.CATALOG    
    SYSTEM.FUNCTION
    SYSTEM.MUTEX    
    SYSTEM.SEQUENCE 
    SYSTEM.STATS
    那么创建元数据的表快照命令如下,在shell中执行:
    echo "snapshot 'SYSTEM.CATALOG','SYSTEM.CATALOG';snapshot ' SYSTEM.FUNCTION',' SYSTEM.FUNCTION';'SYSTEM.MUTEX ','SYSTEM.MUTEX ';'SYSTEM.SEQUENCE','SYSTEM.SEQUENCE';'SYSTEM.STATS','SYSTEM.STATS'" | hbase shell 
    执行完成后,可以在hbase shell中执行 list_snapshots查看创建的快照
3. 将快照数据从旧集群迁移到新集群
    hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 快照名 -copy-to hdfs://new-nn//hbase/data/default/ -copy-from hdfs://old-nn/hbase/data/default/ 
     
    其中new-nn和old-nn是两个集群上active namenode的IP地址,当然也可以是主机名。但为了确保万无一失,尽量采用Ip地址
4. 在新集群上恢复快照数据
   在hbase shell下执行如下命令:
    #如果表已存在,需执行下面三步骤
    disable '表名'
    restore_snapshot '快照名'
    enable '表名'
    
    #如果表不存在,只执行下面一步
    restore_snapshot '快照名'
5. 恢复phonix的快照数据后,就可以在phonix中查到hbase表的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值