美文网首页
跨集群hbase表迁移

跨集群hbase表迁移

作者: DeepMine | 来源:发表于2017-11-24 20:50 被阅读0次

    HBase提供了copyTable,相当于distcp,但影响在线应用

    使用创建快照,跨集群传送集群,然后再还原快照,这个方法的前提约束:两个集群hbase的版本必须一致

    1. 在源集群创建快照
    snapshot 'v2', 'snapshot_v2'
    
    1. 传送快照
    #有可能有路径用户权限问题
    #export HADOOP_USER_NAME=hdfs
    
    hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot_v2 -copy-to hdfs://cluster2:8020/hbase/ -mappers 16
    
    1. 在目标集群恢复快照
    #注意:如果表v2没有,要先创建
    disable 'v2'
    restore_snapshot 'snapshotv2'
    enable 'v2'
    

    如果使用新表,可以用

    clone_snapshot 'snapshot_v2', 'toc:v2'
    
    1. 异常处理
      如果出现表没存在,却提示已创建,list看不到,drop不到,那是ZooKeeper里面有了,中间信息,需要清理
    zookeeper-client -server zkserver:2181
    >
    ls /hbase/table-lock
    rmr /hbase/table-lock/v2
    ls /hbase/table
    rmr /hbase/table/v2
    

    相关文章

      网友评论

          本文标题:跨集群hbase表迁移

          本文链接:https://www.haomeiwen.com/subject/xmafbxtx.html