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

BDS定位

BDS针对开源HBase目前存在的同步迁移痛点,自主研发的一套数据迁移的平台,用于HBase集群的无缝迁移、主备容灾、异地多活、在线离线业务分离、HBase数据归档、对接RDS实时增量数据等等。目的在于帮助阿里云上客户解决自建HBase、EMR HBase、Apsara HBase的数据导入导出,从而方便云上客户围绕HBase构建高可用、灵活的业务系统

使用场景

BDS在云上目前主要有以下几个使用场景

  • 新旧集群无缝迁移
  • 在线离线业务分离
  • 主备容灾
  • RDS实时数据同步到HBase、Phoenix

新旧集群无缝迁移

使用范围
  • HBase大版本升级, 1.x 升级 2.x
  • 集群配置升级
  • 集群网络的切换,经典切换VPC
  • 异地跨机房迁移
  • 业务拆分
业务流程

1559788573739_2a2b8d4b_8015_4f2a_a122_05eb8ffa63a0

在线离线业务分离

业务架构

1559788694489_57b33992_ce29_4277_a90b_0f121dee2630

通过BDS,将在线业务数据实时同步到离线集群,结合Spark、MR等大数据组件进行离线的数据分析,从而不影响在线业务的查询

主备容灾

业务流程

1559788791153_d61a9501_74c1_425f_91e4_815c71ef7c3a

通过BDS在主备集群之间实现实时数据的双向同步,当主集群出现问题,可以切换到备集群,尽可能减少对业务产生的影响,当主集群服务恢复之后,通过BDS同步服务补齐主集群遗漏的数据

RDS实时数据同步到HBase、Phoenix

业务架构

1559788841968_3a1f72f4_2083_445c_9955_a302d692afc0

通过BDS将RDS数据实时同步到HBase集群

  • 结合Spark、MR等大数据组件进行离线的数据分析,从而不影响在线业务的查询
  • 利用HBase支持动态列的功能,将mysql中多张表构建成一张HBase的大宽表,避免在RDS中进行join查询
  • 做RDS的历史库

BDS优势

  1. 功能性

    1. 支持跨版本的数据迁移和同步,HBase <-> HBase、Phoenix <-> Phoenix
    2. 对于同构数据源迁移,支持同步建表语句,保证分区一致
    3. 支持异构数据源的实时数据同步,RDS -> HBase、Phoenix
  2. 迁移同步对业务方无感知

    1. 不停服数据迁移,同时搞定历史数据迁移、实时增量数据的同步
    2. 对业务端应用代码无侵入
  3. 迁移同步对业务影响小

    1. 迁移过程中基本不会和集群的HBase交互,只读写集群的HDFS
    2. 可以动态调整迁移的速度和并发读
  4. 正确性

    1. 保证数据迁移的不丢失
    2. 数据的抽样校验
  5. 稳定性

    1. 有完善的failover机制,能够自动处理常见的错误
    2. 实时系统监控,方便定位上下游的问题
    3. 报警机制,对于一些需要人为介入的异常进行报警
    4. 错误重试支持断点续传
  6. 高效性

    1. 单个节点迁移速度可达到100MB/s,节点数支持水平扩展,能够满足支持TB、PB级别的数据迁移

总结

BDS已经在阿里云上线了,方便云上的客户在自建HBase、EMR HBase、Apsara HBase之间进行数据的迁移和实时数据同步。
在云上已经服务40多个客户,帮助客户实现集群之间的无缝迁移,集群的升配,主备容灾,数据迁移同步规模达到400多T(单副本)。
云上有迁移需求的客户,可以查看《BDS服务介绍》,或者联系侧田
对BDS实现原理及方案比较感兴趣的朋友,可以查看《BDS-HBase数据同步方案的设计与实践》

猜你喜欢

转载自yq.aliyun.com/articles/704972