加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

不中断业务,腾讯10P+金融数据跨机房迁移实战

发布时间:2019-03-17 08:54:20 所属栏目:业界 来源:DBAplus社群
导读:副标题#e# 一、HBase知识介绍 考虑到来听分享的大部分都是MySQL DBA,因此这里做了个简单的HBase相关介绍,主要介绍了如下三个方面的内容: 1、HBase简介 HBase是基于google bigtable的开源实现,又称为hadoop database,具有高性能、高可用、易伸缩等特点

CopyTable和Export方案类似,都是通过MR去scan表的方式实现,不同的是,CopyTable通过MR scan出数据后直接写入另外一个集群,实现数据的迁移。而Export则是scan后保存为文件,传输到另外一个集群后再做import的操作,从而实现数据的迁移。

这种由于需要通过RegionServer层来做数据的scan,如果表很大的话,会对线上的读写有比较大的影响。这种方案比较适合小表的迁移。

SnapShot方案

SnapShot是通过快照来实现HBase数据一致性迁移,这种方式在创建快照的时候会创建文件的引用指针,在传输的时候,通过MR直接拷贝底层HDFS文件,因此创建非常快,效率很高,并且对线上冲击很小,能很好的保证数据的一致性。

SnapShot是目前各个commiter比较推荐的迁移数据方式,再加上这种方案和我们的集群双写方案完全兼容,因此我们最终采用了这个方案。

备注:SnapShot的方案特别需要注意的是,hbase.hstore.time.to.purge.deletes设置的时间一定要比表整体的迁移时间要长(包含做快照、传输快照和导入快照总时间),否则会导致数据冗余的问题。

3、迁移的架构图和详细流程

迁移的架构图

不中断业务,腾讯10P+金融数据跨机房迁移实战

迁移的详细流程

如上图所示,我们迁移的详细流程如下:

  • 将表结构同步从A机房同步到B机房;
  • 启用集群双写;
  • 针对某一类表创建SnapShot;
  • 创建好SnapShot后,使用exportsnapshot工具将快照迁移到新集群;
  • 使用bulkload的方式将快照涉及的HFile文件导入到新集群;
  • 使用集群间数据比对工具,对表做集群间数据校验;
  • 数据校验通过以后,就可以开始灰度切换业务;

4、注意事项和应对策略

进行大规模的数据迁移,还是有比较多的注意事项,下面是需要注意的事项和我们的应对措施:

不中断业务,腾讯10P+金融数据跨机房迁移实战

数据一致性性问题

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读