• 4.HBASE数据迁移方案(之snapshot):


    4.HBASE数据迁移方案:
      4.1 Import/Export
      4.2 distcp
      4.3 CopyTable
      4.4 snapshot

    快照方式迁移(以USER_info:user_log_info为例)
    1.先在源集群建立该表的快照
    hbase(main):003:0> snapshot "USER_INFO:user_log_info","user_log_info_snapshot"

    2.在源集群执行:
    sudo -u hdfs hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot user_log_info_snapshot -copy-to hdfs://slave.01.bigdata.prod.wgq:8020/hbase -overwrite
    -overwrite是假如目标集群有该快照,则覆盖掉;

    3.修改文件权限:
    sudo -u hdfs hdfs dfs -chown -R hbase:hbase /hbase/.hbase-snapshot
    sudo -u hdfs hdfs dfs -chown -R hbase:hdfs /hbase/archive
    sudo -u hdfs hdfs dfs -chmod -R 777 /hbase/archive

    4.在目标集群:


    创建对应表,表要一致
    create 'USER_INFO:user_log_info', {NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}

    首先要disable掉该表
    disable "USER_INFO:user_log_info"

    其次恢复快照:
    restore_snapshot 'user_log_info_snapshot'

    没报错enable该表:
    enable "USER_INFO:user_log_info"

    验证表可用性和两个集群表数据量是否一致:
    count 。。。。。。。

    总结:

    需要注意的是每种方案的可行性问题:

    1.是否要disable表,影响到业务的在线;

    2.跨集群,集群间是否可通信;

    3.每种方案的效率问题,稳定性问题,经常碰到一种方案(copyTable)执行到一半,报exception而挂断;

    4.每种方案是在源集群执行,还是在目标集群执行,对源/目标集群的资源影响;

  • 相关阅读:
    免费素材:推荐最新的免费图标字体Sosa
    如何选择Javascript模板引擎(javascript template engine)?
    名片设计最佳实践和技巧分享
    帮助你生成翻页效果的jQuery插件 bookblock
    网页网站收集
    main xml信息
    c# winrar 打包
    c# 压缩文件
    前端工程师
    fash 3D 游戏
  • 原文地址:https://www.cnblogs.com/gxc2015/p/8856260.html
Copyright © 2020-2023  润新知