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

不间断营业,腾讯10P+金融数据跨机房迁徙拭魅战

发布时间:2019-03-13 17:10:23 所属栏目:业界 来源:DBAplus社群
导读:一、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+金融数据跨机房迁徙拭魅战

数据同等性性题目

在迁徙中,数据同等性题目是起主要思量的题目,加上我们迁徙的是金融数据,同等性题目更是我们思量的重点。为了担保数据的同等性,我们的应对法子如下:

  • 在拟定迁徙方案之前就将数据同等性列在最重要的位置,充实思量数据同等性题目;
  • 在方案拟定后,举办各个场景的测试,确保数据的同等性;
  • 集群双写担保增量数据同等,通过snapshot来担保汗青数据的同等性;
  • 行使集群间数据对账来兜底,担保数据最终同等性。

营业持续性题目

针对营业的持续性题目,我们是对接口做了细粒度的改革,今朝使得切换粒度支持表级此外切换。我们在切换的时辰也按照营业的重要优先级以及会见量,来做接口级此外跨机房灰度切换,确保对营业的影响最小。

不间断营业,腾讯10P+金融数据跨机房迁徙拭魅战

流量节制题目

对付云云大局限的数据迁徙,我们较量担忧的是跨机房传输快照的时辰,把机房带宽打满,导致其他的营业受影响。因此我们的应对计策有两个:

  • 传输快照的时辰,添加-bandwidth参数做好流控;
  • 和网平联动,同步迁徙打算,封锁防火墙限流,并亲近存眷机房间的流量,慢慢灰度使命,确保流量节制在60%以下。

数据量大涉及表多的题目

针对表数据量大和表多的题目,首要担忧的是迁徙的时辰会造成漏掉,可能迁徙使命失败了后漏掉了。因此这里首要是做好使命打点,我们首要做了两个工作来担保项目标盼望和使命:

  • 拟定具体的迁徙打算,粒度细化到表;
  • 开拓自动化迁徙器材,实现自动化使命提倡、查察、追踪、和重试。

5、跨机房履历总结

在做HBase跨机房迁徙的进程中,我们碰着了很是多的题目,也蕴蓄了很是多的履历,我们对付迁徙的流程、留意事项、行使到的技能、陈设等都做了总结,这里列出来利便各人进修,有乐趣的网友可以按照主题做对应的阅读:

  • HBase金融大数据乾坤大挪移
  • www.jianshu.com/p/cb4a645dd66a
  • HDFS异构存储拭魅战
  • www.jianshu.com/p/167d7677a050
  • HBase断绝方案拭魅战
  • www.jianshu.com/p/04d56a2c8b5c
  • 玩转HBase快照
  • www.jianshu.com/p/8d091591d872
  • HBase出产情形陈设指南
  • www.jianshu.com/p/9533ac9de0fe
  • dfs.datanode.du.reserved激发的题目
  • www.jianshu.com/p/508449d8f12c
  • SSD耗尽题目
  • www.jianshu.com/p/167d7677a050
  • MapReduce相干题目排查思绪
  • www.jianshu.com/p/ebd469da07d2

三、HBase SnapShot深入先容

1、SanpShot道理简介

HBase的SnapShot可以领略为是原数据的指针,包括表对应的元数据和涉及到的HFile相干的信息。

之以是建设快照后,HBase能按照这些数据的指针还原出做快照时候的数据,是由于HBase数据文件一旦落盘,就不应承在原地做修改。假如要修改,则必需追加写入新的文件。

尚有一点必要留意的处所,就是HBase自己也会对HFile文件做修改,由于涉及到文件的归并。这里HBase会在HFile文件归并之前将对应的表复制到archive目次下,确保HFile文件的完备性。

2、SnapShot具体流程

因为HBase表相干的数据以region的情势漫衍在多台RegionServer上,在做快照的时辰,必需担保快照的要么都乐成,可能都失败,不能呈现部门RegionSever建设快照乐成,部门RegionServer建设快照失败的环境。

HBase回收两阶段提交的方法来建设快照,别离是prepare阶段和commit阶段,当建设快照非常的时辰,尚有个abord阶段:

Step 1:客户端向master提倡表建设快照的哀求;

Step 2:prepare阶段,master会在zookeeper上建设/acquired-snapshotname(简写为/acquired_sname)节点,并记录表相干的信息;

Step 3:RegionServer检测到/acquired_sname节点,并按照上面表的信息确认该RegionServer是否含有谁人表的Region,假若有则参加到快照的建设中来,假如没有则忽略;

(编辑:河北网)

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

热点阅读