自建HBase集群如何高效迁移上阿里云HBase

概述

随着阿里云HBase产品能力的不断加强,越来越多的客户想从他们自建的HBase集群无缝迁移到阿里云HBase上来,关于迁移上云HBase的好处,我们有个很好的总结《阿里云HBase产品优势》。本文主要介绍的是一种数据迁移上云HBase的方式,用户可以高效、稳定、准确、透明的将数据迁移到阿里云HBase上来,从而享受阿里云HBase带来的优质体验,整个过程不会对用户源集群的业务产生影响

高效迁移服务的特点

高效性

迁移服务属于分布式的架构,直接读取源集群HDFS上表关联的数据,并直接写到目标的集群HDFS中,中间没有任何其他的流程,尽可能的提升迁移的速度;并且还可以动态调整迁移服务的并发度,以及每个迁移子服务的最大吞吐量,在网络、资源不受瓶颈的情况下,可以灵活控制迁移的速度,单机的迁移速度理论上可以打满单机的网卡

便捷性

整个迁移过程,用户只需要申请部署迁移服务的资源,打通迁移网络,不需要关心迁移服务的部署,就可以开始迁移;用户不需要在目标集群重新建表,我们提供一键迁移建表信息的功能,可以快速在目标集群上创建namespace以及每个namespace所对应的表,不需要用户手动去创建;迁移过程对用户比较透明,用户只需要打通迁移服务到源集群和目标集群的网络,目前还需要用户实现目标集群和源集群的数据双写改造,之后我们会上线增量同步的功能,用户就不再需要做双写改造了;在迁移过程中,用户无需关心Region split、compact、Region Merge 等过程导致的底层存储文件变动,系统还会即时监听用户的增量数据,并同步到目标集群。

安全性

迁移不会对源集群进行任何的写操作,保证对源集群业务无影响;目前数据的迁移是由阿里的研发同学协助帮忙迁移,之后会开放数据迁移服务的一键部署、数据的一键迁移等功能,完全由客户自己来控制,阿里云的研发同学只是使用的指导,协助问题的排查,这期间不会对用户的数据做任何的操作

稳定性

迁移数据有一个完备的监控,可以看到任务的进行程度,任务状态是否正常,任务异常信息等情况,任务出错重试、未完成任务自动恢复

数据准确性

迁移完之后,我们提供数据校验的功能,我们会以表为粒度,对每个 reigon 的 hfile 都会进行抽样,保证表的 hfiles 都迁移到目标集群,然后去比对目标集群的数据,并会生成一个数据校验的报告,汇总不一致的数据,方便定位迁移过程中的问题,并且每个 hfile 抽样的数据行数可以进行动态的配置。

迁移案例

某金融领域企业

网络环境:经典网络迁移VPC
部署方式:独立部署,客户申请了三台ECS用于部署迁移服务,这三台ECS绑定ClassicLink来与阿里云HBase实现网络互通
迁移规模:10T左右
速度:118MB/s,为了不影响源集群的业务,迁移流量做了一定的限制

某大数据分析企业A

网络环境:不同VPC环境
部署方式:混合部署,两个VPC之前使用了1Gb/s的高速通道
迁移规模:29T
耗时:3天
速度: 120MB/s,迁移瓶颈主要是在VPC间的高速通道上

某大数据分析企业B

网络环境:相同VPC环境
部署方式:混合部署
迁移规模:20T
耗时:4小时
速度: 1.4GB/s

高效迁移流程

架构

自建HBase集群如何高效迁移上阿里云HBase

相关概念

schema-copy: 负责拷贝表的建表信息
master: 拆分迁移任务
worker: 接收并执行迁移任务
compare: 负责数据从源集群抽样,到目标集群校验汇总
load: 将迁移完的数据高效装载到对应的表中

迁移步骤
  1. 客户-购买云HBase实例
  2. 客户-申请ECS资源用于部署迁移服务(和HBase混部可以忽略这一项)
  3. 协商-打通迁移服务和源集群、目标集群的网络通信
  4. 云HBase技术-快速部署启动迁移服务
  5. 云HBase技术-拷贝建表信息到目标集群
  6. 云HBase技术-增量数据同步开启,进行即时新增数据的同步
  7. 云HBase技术-基线数据同步,并进行数据装载
  8. 云HBase技术-数据正确性校验,并提供校验报告
  9. 客户-验证
  10. 客户-切换业务上阿里云HBase

整个迁移过程,用户只需要打通迁移服务和源集群和目标集群的网络,选择对应需要迁移的表,即可开始高效的数据迁移,可以查看迁移的进度、迁移速率等信息,迁移完成可以进行一键校验,查看数据的准确性,最终进行业务的切换。

迁移服务部署

迁移服务的部署工作不需要用户参与,由阿里云的研发同学完成,后续产品化后提供一键使用的能力

部署模式

混部(同个VPC内迁移)

自建HBase集群如何高效迁移上阿里云HBase
迁移服务和目标阿里云HBase实例部署在一起,用户需要打通源集群和目标集群的网络,混部的情况下,用户不需要重新申请ECS用于部署迁移服务,可以节省用户的迁移成本,并且迁移服务可以在需要迁移的时候启动。

单独部署(用于经典网络迁移VPC)

自建HBase集群如何高效迁移上阿里云HBase
迁移服务独立于目标阿里云HBase实例部署,用户需要打通迁移服务所在的网络环境与源集群、目标集群的网络,单独部署往往在经典网络迁移VPC的时候会使用,用户需要在经典网络申请几台ECS实例,给我们部署迁移服务,迁移完之后用户可以释放掉迁移服务所有的实例

部署建议

源集群网络环境 目标集群网络环境 网络如何打通 部署方式
VPC 相同VPC 同一VPC内的相同安全组下的ECS实例,默认互通 混部/独立部署
VPC 不同的VPC VPC之间需要建立一个高速通道 混部/独立部署
经典网络 相同的经典网络 安全组同账号授权 混部/独立部署
经典网络 VPC 需要创建 VPC 的 ClassicLink,经典网络的 esc 需要绑定对应的 ClassicLink 独立部署,迁移服务和目标集群同属于一个经典网络,绑定VPC创建的ClassicLink

对数据迁移上云比较感兴趣的同学,可以咨询云HBase值班,即可享受高速迁移上云HBase的优质体验

上一篇:BDS-HBase集群之间数据迁移同步的利器


下一篇:DDR基础原理介绍