zoukankan      html  css  js  c++  java
  • Hbase snapshot数据迁移

    # 在源集群中创建快照
    (linux shell) hbase snapshot -t <table_name> -n <snapshot_name>

    或(hbase shell) snapshot <table_name>, <snapshot_name>

    # 将快照从源集群导出到目标集群
    (linux shell) hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot <table_name> -copy-from hdfs://<source_cluster>/hbase -copy-to hdfs://<target_cluster>/hbase -mappers 200 -bandwidth 20 -chuser hbase -chgroup hbase -overwrite

    (linux shell) hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot <table_name> -copy-from hdfs://namenodeip:8020/hbase  -copy-to hdfs://namenodeip:8020/hbase -mappers 200 -bandwidth 20 -chuser hbase -chgroup hbase -overwrite

    参数:

    -mappers ->任务map数

    -bandwidth  -> 网络带宽最大使用量

    -chuser  -> 所有者

    -chgroup -> 所有组

    -overwrite ->覆盖

    注意:

    -chuser hbase -chgroup hbase必须加,否则在clone时会有权限问题,导致clone失败

    补充:

    有些时候执行完任务,在目标集群并不能找到对应快照,再执行一次,会在很短时间内完成

    # 在目标hbase中从快照恢复表
    (hbase shell) clone_snapshot <snapshot_name>,<table_name>
    补充:恢复完需验证数据,有些时候数据检索不到,drop后,再重新clone出来可恢复

    # 在目标集群中删除快照
    (hbase shell) delete_snapshot <snapshot_name>

    # 在源集群中删除快照和表
    (hbase shell) delete_snapshot <snapshot_name>
    (hbase shell) disable <tablename>(数据同步时无需执行)
    (hbase shell) drop <tablename>(数据同步时无需执行)

    TIPS:
    正常集群内的表及数据目录:
    /hbase/data/default/
    通过快照传输过去的表数据在hdfs的目录:
    /hbase/archive/data/default/,且表名与源集群表名相同
    克隆出的表也存在于/hbase/data/default/,表名取决于clone时的命名,drop后会删除,但不会删除原始数据目录(/hbase/archive/data/default/)

  • 相关阅读:
    python 线程同步
    python 线程模块
    Python线程
    Python 多线程
    Python SMTP发送邮件
    Python Internet 模块
    简单实例
    Socket 对象(内建)方法
    Python 网络编程
    python 数据库错误处理
  • 原文地址:https://www.cnblogs.com/changsblogs/p/11856729.html
Copyright © 2011-2022 走看看