GaussDB(for openGauss)主备版到Kafka同步实例
本小节以GaussDB(for openGauss)主备版->Kafka的实时同步为示例,介绍如何使用数据复制服务配置实时同步任务。
操作步骤
- 在“实时同步管理”页面,单击“创建同步任务”。
- 在“同步实例”页面,填选区域、任务名称、任务异常通知信息、SMN主题、时延阈值、任务异常自动结束时间、描述、同步实例信息,单击“下一步”。。图1 同步任务信息
表1 任务和描述 参数
描述
区域
当前所在区域,可进行切换。
任务名称
任务名称在4-50位之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。
任务异常通知设置
该项为可选参数,开启之后,选择对应的SMN主题。当同步任务状态异常时,系统将发送通知。
SMN主题
“任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。
SMN主题申请和订阅可参考《消息通知服务用户指南》。
时延阈值
在增量同步阶段,源数据库和目标数据库之间的同步有时会存在一个时间差,称为时延,单位为秒。
时延阈值设置是指时延超过一定的值后(时延阈值范围为1—3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。
说明:- 首次进入增量同步阶段,会有较多数据等待同步,存在较大的时延,属于正常情况,不在此功能的监控范围之内。
- 设置时延阈值之前,需要设置任务异常通知。
任务异常自动结束时间(天)
设置任务异常自动结束天数,输入值必须在14-100之间。
说明:异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。设置任务异常自动结束天数后,异常且超时的任务将会自动结束,以免产生不必要的费用。
描述
描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。
图2 同步实例信息表2 同步实例信息 参数
描述
数据流动场景
选择“出云”。
源数据库引擎
选择“GaussDB(for openGauss)主备版”。
目标数据库引擎
选择“Kafka”。
网络类型
此处以公网网络为示例。目前支持可选公网网络和VPN、专线网络。
源数据库实例
用户所创建的GaussDB(for openGauss)主备版实例。
同步实例所在子网
请选择同步实例所在的子网。也可以单击“查看子网”,跳转至“网络控制台”查看实例所在子网帮助选择。
默认值为当前所选数据库实例所在子网,请选择有可用IP地址的子网。为确保同步实例创建成功,仅显示已经开启DHCP的子网。
同步类型
增量。
企业项目
对于已成功关联企业项目的用户,仅需在“企业项目”下拉框中选择目标项目。
如果需要自定义企业项目,请前往项目管理服务进行创建。关于如何创建项目,详见《项目管理用户指南》。
标签
可选配置,对同步任务的标识。使用标签可方便管理您的实时同步任务。每个任务最多支持10个标签配额。
任务创建成功后,您可以单击实例名称,在“标签”页签下查看对应标签。关于标签的详细操作,请参见标签管理。
- 在“源库及目标库”页面,待同步实例创建成功后,填选源库信息和目标库信息,单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库连通后,单击“下一步”。图3 源库信息
表3 源库信息 参数
描述
数据库实例名称
默认为创建同步任务时选择的关系型数据库实例,不可进行修改。
数据库用户名
源数据库的用户名。
数据库密码
源数据库的用户名所对应的密码。
源数据库的数据库用户名和密码,会被系统加密暂存,直至删除该迁移任务后自动清除。
图4 目标库信息表4 目标库信息 参数
描述
IP地址或域名
目标数据库的IP地址或域名,格式为IP地址/域名:端口。其中目标数据库服务端口,可输入范围为1~65534间的整数。
该输入框最多支持填写10组目标数据库的IP地址或者域名信息,多个值需要使用英文逗号隔开。例如:192.168.0.1:8080,192.168.0.2:8080。
- 在“设置同步”页面,选择同步策略、数据格式和同步对象,单击“下一步”。图5 同步模式
表5 同步对象 参数
描述
同步Topic策略
同步Topic策略,可选择集中投递到一个Topic或者按照格式自动生成Topic名字。
Topic
选择目标端需要同步到的Topic,同步Topic策略选择集中投递到一个Topic时可见。
Topic名字格式
同步Topic策略选择自动生成Topic名字时可见。
Partition个数
同步Topic策略选择自动生成Topic名字时可见。
用来设置topic的分区个数。每个topic都可以创建多个partition,越多的partition可以提供更高的吞吐量,越多的partition会消耗更多的资源,建议根据broker节点的实际情况来设置partition的数量。
副本个数
同步Topic策略选择自动生成Topic名字时可见。
用来设置topic的副本数。每个topic可以有多个副本,副本位于集群中不同的broker上,副本的数量不能超过broker的数量,否则创建topic时会失败。
同步到kafka partition策略
同步到kafka partition策略。
- 按不同的hash值投递到不同Partition:适用于单表的查询场景,表内保序,表与表之间不保序,可以提高单表读写性能,推荐使用此选项。
- 全部投递到Partition 0:适用于有事务要求的场景,事务保序,可以保证完全按照事务顺序消费,写入性能比较差,如果没有强事务要求,不推荐使用此选项。
同步对象
同步对象支持表级同步和库级同步,您可以根据业务场景选择对应的数据进行同步。
选择对象的时候支持搜索,以便您快速选择需要的数据库对象。
- 在“预检查”页面,进行同步任务预校验,校验是否可进行实时同步。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。
预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过项修复方法”。
- 预检查完成后,且所有检查项结果均通过时,单击“下一步”。图6 预检查
所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。
- 在“任务确认”页面,设置同步任务的启动时间,并确认同步任务信息无误后,勾选协议,单击“启动任务”,提交同步任务。
- 同步任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。
- 预计同步任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置同步任务的启动时间。
