概述
随着阿里云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
高效迁移流程
架构
相关概念
schema-copy: 负责拷贝表的建表信息
master: 拆分迁移任务
worker: 接收并执行迁移任务
compare: 负责数据从源集群抽样,到目标集群校验汇总
load: 将迁移完的数据高效装载到对应的表中
迁移步骤
- 客户-购买云HBase实例
- 客户-申请ECS资源用于部署迁移服务(和HBase混部可以忽略这一项)
- 协商-打通迁移服务和源集群、目标集群的网络通信
- 云HBase技术-快速部署启动迁移服务
- 云HBase技术-拷贝建表信息到目标集群
- 云HBase技术-增量数据同步开启,进行即时新增数据的同步
- 云HBase技术-基线数据同步,并进行数据装载
- 云HBase技术-数据正确性校验,并提供校验报告
- 客户-验证
- 客户-切换业务上阿里云HBase
整个迁移过程,用户只需要打通迁移服务和源集群和目标集群的网络,选择对应需要迁移的表,即可开始高效的数据迁移,可以查看迁移的进度、迁移速率等信息,迁移完成可以进行一键校验,查看数据的准确性,最终进行业务的切换。
迁移服务部署
迁移服务的部署工作不需要用户参与,由阿里云的研发同学完成,后续产品化后提供一键使用的能力
部署模式
混部(同个VPC内迁移)
迁移服务和目标阿里云HBase实例部署在一起,用户需要打通源集群和目标集群的网络,混部的情况下,用户不需要重新申请ECS用于部署迁移服务,可以节省用户的迁移成本,并且迁移服务可以在需要迁移的时候启动。
单独部署(用于经典网络迁移VPC)
迁移服务独立于目标阿里云HBase实例部署,用户需要打通迁移服务所在的网络环境与源集群、目标集群的网络,单独部署往往在经典网络迁移VPC的时候会使用,用户需要在经典网络申请几台ECS实例,给我们部署迁移服务,迁移完之后用户可以释放掉迁移服务所有的实例
部署建议
源集群网络环境 | 目标集群网络环境 | 网络如何打通 | 部署方式 |
---|---|---|---|
VPC | 相同VPC | 同一VPC内的相同安全组下的ECS实例,默认互通 | 混部/独立部署 |
VPC | 不同的VPC | VPC之间需要建立一个高速通道 | 混部/独立部署 |
经典网络 | 相同的经典网络 | 安全组同账号授权 | 混部/独立部署 |
经典网络 | VPC | 需要创建 VPC 的 ClassicLink,经典网络的 esc 需要绑定对应的 ClassicLink | 独立部署,迁移服务和目标集群同属于一个经典网络,绑定VPC创建的ClassicLink |
对数据迁移上云比较感兴趣的同学,可以咨询云HBase值班,即可享受高速迁移上云HBase的优质体验