本场景介绍使用 DTS 创建 MariaDB、Percona 的数据订阅任务操作指导。因 MariaDB、Percona 的数据订阅操作一致,如下以 MariaDB 为例进行介绍。
前提条件
已在源端实例中开启 Binlog。
已在源端实例中创建订阅账号,需要账号权限如下:REPLICATION CLIENT、REPLICATION SLAVE、PROCESS 和全部对象的 SELECT 权限。
具体授权语句如下:
create user '账号' IDENTIFIED BY '密码';
grant SELECT, REPLICATION CLIENT,REPLICATION SLAVE,PROCESS on *.* to '账号'@'%';
flush privileges;
约束限制
订阅的消息内容目前默认保存时间为最近1天,超过保存时间的数据会被清除,请用户及时消费,避免数据在消费完之前就被清除。
数据消费的地域需要与订阅实例的地域相同。
当前不支持 geometry 相关的数据类型。
订阅任务过程中,如果进行修改订阅对象等操作会发生任务重启,重启后可能会导致用户在 kafka 客户端消费数据时出现重复。
DTS 是按最小数据单元进行传输的,增量数据每标记一个 checkpoint 位点就是一个数据单元,如果重启时,刚好一个数据单元传输已完成,则不会导致数据重复;如果重启时,一个数据单元还正在传输中,那么再次启动后需要重新拉取这个数据单元,以保证数据完整性,这样就会导致数据重复。
用户如果对重复数据比较关注,请自行在消费数据时设置去重逻辑。
支持订阅的 SQL 操作
|
| |
| CREATE DATABASE、DROP DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE、RENAME TABLE |
操作步骤
1. 登录 DTS 控制台,在左侧导航选择数据订阅,单击新建数据订阅。 2. 在新建数据订阅页,选择相应配置,单击立即购买。
计费模式:支持包年包月和按量计费。
地域:源库为腾讯云数据库,这里的地域需与源数据库实例的地域保持一致。源库为非腾讯云数据库,这里的地域选择与数据消费的地域保持一致,如果数据消费地域无特殊要求,这里选择离源数据库最近的一个地域即可。
数据库:请选择数据库类型。
版本:选择 kafka 版,支持通过 Kafka 客户端直接消费。
订阅实例名称:编辑当前数据订阅实例的名称。
3. 购买成功后,返回数据订阅列表,单击操作列的配置订阅对刚购买的订阅进行配置,配置完成后才可以进行使用。
4. 在配置数据库订阅页面,选择源数据库相应配置,完成后单击连通性测试,测试通过后单击下一步。
|
实例类型 | 购买时选择的数据库类型。 建议选择主库进行订阅,订阅服务对源库的压力非常小。 源数据库为腾讯云数据库 MariaDB 时,支持选择灾备/只读实例。 |
接入类型 | 请根据您的场景选择,不同接入类型的准备工作请参考 准备工作概述。 公网:源数据库可以通过公网 IP 访问。 专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。 VPN接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。 云数据库:源数据库属于腾讯云数据库实例。 云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。 |
公网 | 主机地址:源数据库 IP 地址或域名。 端口:源数据库使用的端口。 |
云主机自建 | 云主机实例:云服务器 CVM 的实例 ID。 端口:源数据库使用的端口。 |
专线接入 | 私有网络专线网关/:专线接入时只支持私有网络专线网关,请确认网关关联网络类型。 私有网络:选择私有网络专线网关和 VPN 网关关联的私有网络和子网。 主机地址:源数据库 IP 地址。 端口:源数据库使用的端口。 |
VPN 接入 | VPN 网关:VPN 网关,请选择通过 VPN 网关接入的 VPN 网关实例。 私有网络:选择私有网络专线网关和 VPN 网关关联的私有网络和子网。 主机地址:源数据库 IP 地址。 端口:源数据库使用的端口。 |
云数据库 | 云数据库实例:源数据库的实例 ID。 |
云联网 | 主机地址:源数据库的主机 IP 地址。 端口:源数据库使用的端口。 私有网络云联网:云联网实例名称。 接入 VPC:接入 VPC 指的是云联网中接入订阅链路的 VPC。请在云联网关联的所有 VPC 中,选择除了源数据库所属 VPC 外的其他 VPC。
例如,广州地域数据库作为源数据库,则接入 VPC 选择其他地域,如成都 VPC 或者上海 VPC。 子网:已选择 VPC 网络的子网名称。 接入 VPC 地域:购买任务时选择的源数据库地域与接入 VPC 地域需要保持一致,如果不一致,DTS 会将购买任务中选择的源数据库地域,改为接入 VPC 地域。 |
账号/密码 | 账号/密码:源数据库的账号、密码。 |
kafka 分区数量 | 设置 kafka 分区数量,增加分区数量可提高数据写入和消费的速度。单分区可以保障消息的顺序,多分区无法保障消息顺序,如果您对消费到消息的顺序有严格要求,请选择 kafka 分区数量为1。 |
5. 在订阅类型和对象选择页面,选择订阅类型,单击保存配置。
订阅类型,包括数据更新、结构更新和全实例。
数据更新:订阅选择对象的数据更新,包括数据 INSERT、UPDATE、DELETE 操作。
结构更新:订阅实例中全部对象的结构创建、修改和删除。
全实例:包括该订阅实例的全部对象的数据更新和结构更新。
Kafka 分区策略:选择按表名分区,按表名+主键分区。
6. 在预校验页面,预校验任务预计会运行2分钟 - 3分钟,预校验通过后,单击启动完成数据订阅任务配置。
7. 订阅任务进行初始化,预计会运行3分钟 - 4分钟,初始化成功后进入运行中状态。
8. 新增消费组,数据订阅 Kafka 版支持用户创建多个消费组,进行多点消费。数据订阅 Kafka 版消费依赖于 Kafka 的消费组,所以在消费数据前需要创建消费组。 9. 订阅实例进入运行中状态之后,就可以开始消费数据。Kafka 的消费需要进行密码认证,具体示例请参考 数据消费 Demo,我们提供了多种语言的 Demo 代码,也对消费的主要流程和关键的数据结构进行了说明。
本页内容是否解决了您的问题?