不间断营业,腾讯10P+金融数据跨机房迁徙拭魅战
Step 4:RegionServer参加parepare阶段的时辰,起首会加一把全局锁,此时不应承这个表稀有据写入、更新和删除,,将memstore中的数据flush到文件中,并为涉及到的全部HFile文件建设引用指针,这些指针元数据即是snapshot,并将这些元数据以及表相干信息写入到姑且目次中; Step 5:在第4步完成后,便会在/acquired_sname新建RegionServer对应的子节点,暗示该RegionServer完成了prepare阶段; Step 6:当master发明全部的涉及到的RegionServer都完成了prepare阶段的事变后,就会提倡commit阶段的操纵; Step 7:在commit阶段,master会在zookeeper上建设/reached-snapshotname(简写为/reached-sname),该表涉及的RegionSever监听到变乱后,就会启动commit阶段的事变,将姑且目次中的snapshot的数据写入到正式的目次,操纵完成后便会在/reached-sname新建该RegionServer对应的子节点; Step 8:当master发明全部涉及到的RegionServer都完成了commit阶段的事变后,master还必要做一次汇总操纵,汇总操纵完成后,整个snapshot的建设就完成了。 Step 9:假如在一按时刻内前面阶段有的regionserver没有完成对应的操纵,则会进入abord阶段,在abord阶段,master会在zookeeper上建设/abord_snapshotname(简称/abord_sname),涉及的RegionServer会举办建设快照流程的回滚操纵,即将姑且文件夹的快照内容删除。 3、SanpShot拭魅战 snapshot的行使相对照旧较量简朴,下面来拭魅战一下: 建设snapshot
备注:在hbase shell中执行 查察snapshot
删除snapshot
迁徙snapshot
这种方法用于将快照表迁徙到其它一个集群的时辰行使,行使MR举办数据的拷贝,速率很快,行使的时辰记得要配置好bandwidth参数,以免因为收集打满导致的线上营业妨碍。 假如没有混布MR,则还必要搭建一个MR集群,而且呼吁行中必要再插手MR集群的相干参数。 规复snapshot
备注:这种方法必要对表举办过disable才气举办restore_snapshot的操纵,假如这个还在写入数据,则必要回收bulkload的方法导入。 将snapshot行使bulkload的方法导入
备注:这种方法必要将全部的文件举办遍历并所有通过bulkload导入,上面的只是一个文件的导入,这种方法不必要disable表。 Q & A Q:前面讲的除了营业灰度切换的进程,从开始迁徙到数据检讨的自动化部门有更多分享吗? A:除了营业灰度切换的进程,从开始迁徙到数据检讨着实是代码实现的一个进程,好比说我们第一步先建设快照,这样就很轻易做代码实现,乐成后会启用exportsnapshot的方法把快照从一个集群迁到另一个集群,把snapshot的名字传进去,直接通过传参数的方法在措施里实现。bulkload的导入也是一样的,在确定导入乐成后,把原本的快照删除就可以做数据的校验、比对了。 讲师先容 张秀云 腾讯高级DBA 网名飞鸿无痕,2007年进入职场后一起进级打怪,从收集打点员、Linux运维,到小公司DBA,再到腾讯金融DBA。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |