开发者社区> 问答> 正文

两个不同hbase集群怎么同步数据?

请问,两个不同hbase集群之间如何进行数据同步?

展开
收起
hbase小助手 2018-11-16 19:40:06 4729 0
1 条回答
写回答
取消 提交回答
  • 研究spark/hive/hbase相关技术

    hbase集群间迁移有几种方式:

    1. copytable
      利用MapReduce进行同步,利用MR去scan 原表的数据,然后把scan出来的数据写入到目标集群的表。这种方式也有很多局限,如一个表数据量达到T级,同时又在读写的情况下,全量scan表会对集群性能造成影响。
    2. Export/Import方式
      将HBase表数据转换成Sequence File并dump到HDFS,也涉及Scan表数据,与CopyTable相比,还多支持不同版本数据的拷贝,同时它拷贝时不是将HBase数据直接Put到目标集群表,而是先转换成文件,把文件同步到目标集群后再通过Import到线上表。
    3. Snapshot方式
      在原集群上创建快照,使用ExportSnapshot命令进行数据迁移,ExportSnapshot也是HDFS层的操作,本质还是利用MR进行迁移,这个过程主要涉及IO操作并消耗网络带宽。

    详细参考:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html

    如果迁移上阿里云HBase可参考:https://help.aliyun.com/document_detail/57695.html?spm=a2c4g.11186623.6.581.40d45ef0sv34tp
    支持一键迁移上云。

    2019-07-17 23:15:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
大数据时代的存储 ——HBase的实践与探索 立即下载
Hbase在滴滴出行的应用场景和最佳实践 立即下载
阿里云HBase主备双活 立即下载