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

简介: 本文主要介绍的是一种数据迁移上云HBase的方式,用户可以高效、稳定、准确、透明的将数据迁移到阿里云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

高效迁移流程

架构

迁移服务改进.png

相关概念

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内迁移)

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

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

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

部署建议

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

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

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
11月前
|
存储 Oracle 关系型数据库
HBase集群环境搭建与测试(上)
HBase集群环境搭建与测试
219 0
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
190 0
|
12月前
|
大数据 分布式数据库 Docker
基于Docker搭建大数据集群(七)Hbase部署
基于Docker搭建大数据集群(七)Hbase部署
|
1月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
|
1月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
|
4月前
|
分布式计算 监控 Hadoop
Ganglia监控Hadoop与HBase集群
Ganglia监控Hadoop与HBase集群
|
4月前
|
分布式计算 Hadoop Java
Hbase集群搭建
Hbase集群搭建
|
分布式计算 Hadoop Shell
Hbase集群搭建
Hbase集群搭建
199 0
|
11月前
|
分布式计算 Hadoop Linux
HBase集群环境搭建与测试(下)
HBase集群环境搭建与测试
103 0
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的集群模式的安装部署和环境搭建,帮助开发者快速上手。
624 2