• 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/)

  • 相关阅读:
    122.CSS书写顺序及其好处
    120.节流和防抖,Vue中如何添加节流和防抖
    119.css如何使图片固定为正方形
    112.前端css优先级
    vscode设置格式化单引号
    113.CSS怪象记录
    116.vue : 无法加载文件 C:UsersAdministratorAppDataRoaming pmvue.ps1,因为在此系统上禁止运行脚本。
    距离不是一个连续的物理量(Distance is not a continuous physical quantity)
    南七学校信息
    RedisTemplate 序列化问题
  • 原文地址:https://www.cnblogs.com/changsblogs/p/11856729.html
Copyright © 2020-2023  润新知