RDS实时数据同步HBase、Phoenix
本文主要介绍RDS实时数据如何同步到自建HBase或者云HBase
使用场景
业务架构
通过BDS将RDS数据实时同步到HBase集群
- 结合Spark、MR等大数据组件进行离线的数据分析,从而不影响在线业务的查询
- 利用HBase支持动态列的功能,将mysql中多张表构建成一张HBase的大宽表,避免在RDS中进行join查询
- 做RDS的历史库
BDS实时数据同步架构
- DTS服务提供对RDS binlog收集,实时抓取源RDS实例的binlog,并提供实时数据的订阅
- BDS同步服务订阅DTS所收集的数据,将实时的数据写入到HBase或者Phoenix
RDS -> HBase 实时数据同步
版本支持
Mysql版本:
- 支持公共云、金融云RDS For MySQL实例、DRDS实例的数据订阅。
- 支持经典网络、VPC网络下RDS For MySQL实例、DRDS实例的数据订阅。
HBase版本:1.x、2.x (不开启Kerberos自建HBase、云HBase)
优势
- 一个同步通道可以支持多张表
- 支持多个RDS上的多张表同步到一张HBase表
- 单节点(4 cores 8G),同步的吞吐最高可达20 ~ 30MB/s
同步步骤
- 购买及环境准备
- 客户 - 开通DTS订阅通道
- 客户 - 创建DTS消费通道
- 客户 - 设置DTS通道延迟报警
- 客户 - 购买BDS同步服务,并绑定指定VPC(VPC下的HBase集群可以相互迁移)
- 开启同步
- 在目标HBase集群建表
- 登陆BDS操作页面
- 添加DTS订阅通道
- 添加HBase数据源
- 创建实时同步通道
注意事项
- RDS原表的数据类型(除了字节数组)都被转成了String写入到了HBase
RDS -> Phoenix 实时数据同步
版本支持
Mysql版本:
- 支持公共云、金融云RDS For MySQL实例、DRDS实例的数据订阅。
- 支持经典网络、VPC网络下RDS For MySQL实例、DRDS实例的数据订阅。
Phoenix版本:5.x (云2.xHBase)
同步步骤
- 购买及环境准备
- 客户 - 开通DTS订阅通道
- 客户 - 创建DTS消费通道
- 客户 - 设置DTS通道延迟报警
- 客户 - 购买BDS同步服务,并绑定指定VPC(VPC下的HBase集群可以相互迁移)
- 开启同步
注意事项
- RDS原表的数据类型和Phoenix表类型要对应
- 目标集群是阿里云HBase2.x,开启query server的集群
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论