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

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

发布时间:2019-03-13 17:10:23 所属栏目:业界 来源:DBAplus社群
导读:一、HBase常识先容 思量到来听分享的大部门都是MySQL DBA,因此这里做了个简朴的HBase相干先容,首要先容了如下三个方面的内容: 1、HBase简介 HBase是基于google bigtable的开源实现,又称为hadoop database,具有高机能、高可用、易伸缩等特点,是一个面

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

  1. snapshot 'tableName', 'snapshotName' 

备注:在hbase shell中执行

查察snapshot

  1. list_snapshots 
  2.  
  3. 查找以map开头的snapshot 
  4.  
  5. list_snapshots 'map.*' 

删除snapshot

  1. delete_snapshot 'snapshotName' 

迁徙snapshot

  1. hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot  
  2. -snapshot snapshot_src_table  
  3. -copy-from hdfs://src-hbase-root-dir/hbase 
  4. -copy-to hdfs://dst-hbase-root-dir/hbase 
  5. -mappers 20  
  6. -bandwidth 1024 

这种方法用于将快照表迁徙到其它一个集群的时辰行使,行使MR举办数据的拷贝,速率很快,行使的时辰记得要配置好bandwidth参数,以免因为收集打满导致的线上营业妨碍。

假如没有混布MR,则还必要搭建一个MR集群,而且呼吁行中必要再插手MR集群的相干参数。

规复snapshot

  1. restore_snapshot ‘snapshotName’ 

备注:这种方法必要对表举办过disable才气举办restore_snapshot的操纵,假如这个还在写入数据,则必要回收bulkload的方法导入。

将snapshot行使bulkload的方法导入

  1. hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles  
  2. -Dhbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily=1024  
  3. hdfs://dst-hbase-root-dir/hbase/archive/datapath/tablename/filename tablename 

备注:这种方法必要将全部的文件举办遍历并所有通过bulkload导入,上面的只是一个文件的导入,这种方法不必要disable表。

Q & A

Q:前面讲的除了营业灰度切换的进程,从开始迁徙到数据检讨的自动化部门有更多分享吗?

A:除了营业灰度切换的进程,从开始迁徙到数据检讨着实是代码实现的一个进程,好比说我们第一步先建设快照,这样就很轻易做代码实现,乐成后会启用exportsnapshot的方法把快照从一个集群迁到另一个集群,把snapshot的名字传进去,直接通过传参数的方法在措施里实现。bulkload的导入也是一样的,在确定导入乐成后,把原本的快照删除就可以做数据的校验、比对了。

讲师先容

张秀云

腾讯高级DBA

网名飞鸿无痕,2007年进入职场后一起进级打怪,从收集打点员、Linux运维,到小公司DBA,再到腾讯金融DBA。

(编辑:河北网)

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

热点阅读