暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓 KFS SQLServer源端安装部署—CDC环境配置

KFS补给站 2023-08-02
832


名称解释:

KFS:Kingbase Flysync的缩写,是人大金仓自主研发的、能够在异构数据平台间实现实时、增量数据同步的产品
CDC:即Changed Data Capture,增量数据获取


一、安装前准备

1.1 软件环境要求

KFS支持在CentOS 6.X、CentOS 7.X、Kylin 4.0、普华5.0、UOS 20、凝思6.0、湖南麒麟3.x、专用机海光CPU +中科方德OS等64位发行版本上安装部署。

Kingbase Flysync支持的SQLServer版本为: 2008、2014、2016、2017

1.2 安装包准备

准备需要的KFS数据同步软件安装程序,此文档中以如下版本作示例:KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz

1.3 注意事项

1.3.1 服务器机器名


安装KFS的服务器,机器名需要和SQLServer数据库的服务名相同:使用SELECT @@servername从SQLServer数据库查询到服务名,然后将数据库服务名和服务器机器名修改一致

注1:修改数据库服务名或服务器机器名

注2:如果修改服务器机器名,需要确保/ect/hosts中映射的机器名也对应修改

1.3.2 安装用户



KFS部署之前,需要建立独立的运行帐号:

[root@sqlserver ~]# useradd -d /home/flysync flysync

创建用户后,修改相关用户的密码;

[root@sqlserver ~]# passwd flysync

1.3.3 上传并解压安装包


使用flysync用户登录服务器,并上传KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz,然后解压该文件:

tar –zxf KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz

二、配置安装

2.1 配置文件列表简介

配置文件所在的路径为:


图 2-1 配置文件列表

flysync.tables:配置相关模式/表,然后对相关表进行CDC配置

setupCDC.conf:CDC安装的配置文件

cleanCDC.sh:卸载/清除CDC

setupCDC.sh:安装CDC的脚本文件

updateCDC.sh:更新CDC的脚本文件

2.2 配置文件配置简介

2.2.1 配置flysync.tables文件




图 2-2 flysync.tables文件

flysync.tables 文件的格式为:

schama_nametable_namecolumn_list

例如:

SCHEMA_1<tab>TABLE_1<tab>C1,C2,C3 表示TABLE_1 的C1、C2、C3 列

注1:<tab>表示TAB键

注2:所有的表都需要有主键

注3:模式名、表名和列名大小写需要和数据库中保持一致

2.2.2 配置setupCDC.conf文件




图2-3 setupCDC.conf文件

配置参数解释如下:

service

服务名称,由用户自行指定(注意:需要和和后面同步工具部署时的服务名称保持一致)

db_host

SQLServer 所在的机器地址和端口,默认localhost,1433

db_name

要同步的表所在的数据库

sa_user

sa 用户的帐号

sa_pass

sa 用户的密码

source_user

同步的用户名称(会自动创建)

source_password

同步用户(source_user配置的用户)密码

delete_user

是否删除同步用户(当存在时,注意:设置为1 时,会强制删除同步用户)一般用在重新部署时

specific_path

flysync.tables 文件所在的路径

file_group_size

创建文件组最大值,不指定默认16GB,值参照增量数据储备大小设定

2.3 部署CDC

2.3.1 安装CDC


配置好flysync.tables和setupCDC.conf文件后,执行setupCDC.sh文件:





图 2-4 安装CDC

2.3.2更新CDC


已经执行setupCDC.sh后,数据库中新增了相关表,此时可以更新flysync.tables中的配置,然后执行update.sh



图 2-5 更新CDC

2.3.3清理CDC


执行cleanCDC.sh可以清除相关CDC配置:



图 2-6 清理CDC

三、验证安装

配置完成CDC后,SQLServer将会捕获相关的数据变更,可以通过插入/更新/删除相关表的数据来进行验证。

假设create table dbo.testa(id int primary key,a int)表已经完成CDC配置

初始时无数据:



图 3-1 初始状态

INSERT数据:





图 3-2 解析INSERT操作

UPDATE数据:





图 3-3 解析UPDATE操作

DELETE数据:



图 3-4 解析DELETE操作

四、总结

1、SQLServer CDC功能,只针对有主键的表,如果存在无主键的表,则需要对表添加主键

2、安装KFS的服务器机器名需和SQLServer服务名一致

3、SQLServer默认CDC捕获的数据将保留3天:

select retention from msdb.dbo.cdc_jobs where job_type='cleanup';

如果想保留更长的时间,则可以执行:

execute sys.sp_cdc_change_job @job_type=N'cleanup',@retention=100080;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论