KFS replicator安装(SQLServer-KES)
壹、源端SQL Server 2017
一、安装前置配置
1、创建安装用户
groupadd flysync
useradd flysync -g flysync -G mysql
passwd flysync
2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压
tar -xzvf KingbaseFlySync-V001R006C003B20211213-replicator.tar.gz
3、配置将hosts文件,将源端和目标端服务器都加上去
vi /etc/hosts
192.168.100.113 mssql
192.168.100.124 kes8-2
4、配置/etc/security/limits.conf文件【可选】
vi /etc/security/limits.conf
flysync - nofile 65535
flysync - nproc 8096
mssql - nofile 65535
mssql - nproc 8096
5、开启时间同步服务【可选】
yum install ntp
systemctl start ntpd
systemctl enable ntpd
6、在/etc/sysctl.conf配置swappiness参数【可选】
vi /etc/sysctl.conf
vm.swappiness = 10
sysctl -p
6、检查依赖软件jdk和ruby【必须】
--jdk
java -version
版本小于1.8的,可以使用yum安装1.8版本
yum install java-1.8.0-openjdk.x86_64
也可以下载oracle的1.8版本的JDK包手动上传安装
--ruby
可以使用yum方式安装
yum install ruby
也可以使用KFS控制台服务器里自带的ruby包进行替换,位置在:/opt/KFS/console/media/rbenv,
将压缩包解压到/usr/local,然后配置/etc/profile文件里$PATH环境变量,将ruby的bin目录添加进去
vi /etc/profile
export PATH=$PATH:/usr/local/ruby/bin
配置完成后,使用source命令应用
source /etc/profile
二、安装
1、开启sqlserver agent(mssql用户)
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
systemctl restart mssql-server.service
- 配置SQL Server的CDC
(1)、设置配置文件:
cd /home/flysync/KingbaseFlySync-V001R006C003B20211213-replicator/flysync-replicator/extractors/mssql-cdc
vi setupCDC.conf
添加以下内容
service=sqlserver2017
db_host=localhost,1433
db_name=test1
sa_user=sa
sa_pass=123456
#同步用户名,命名规则:flysync_+service名称
source_user=flysync_sqlserver2017
#同步用户密码,密码8位以上,必须有字母大小写,数字或者特殊字符。
source_password=Flysync1234
delete_user=0
specific_path=
file_group_size=16GB
(2)、填写flysync.tables文件。Flysync.tables内容为需要同步的表。
vi flysync.tables
#格式为<模式><空格><表><空格><列>
test
#这个表示同步test模式下的所有表
(3)、执行配置脚本:
./setupCDC.sh setupCDC.conf
- 在安装用户家目录配置flysync.ini
vi /home/flysync.ini
填写以下内容:
[defaults]
install-directory=/home/flysync/kfsrep
profile-script=~/.bash_profilermi-port=11000
[sqlserver2017]
role=master
master=mssql
members=mssql
kufl-port=3112
replication-host=192.168.100.113
replication-port=1433
#和cdc配置文件里的source_user一样
replication-user=flysync_sqlserver2017
replication-password=Flysync1234
datasource-type=mssql
mssql-extractor-method=cdc
mssql-dbname=test1
property=replicator.extractor.dbms.maxRowsByBlock=500
property=replicator.extractor.dbms.minSleepTime=5
property=replicator.extractor.dbms.sleepAddition=1
property=replicator.extractor.dbms.maxSleepTime=15
4、安装
cd /home/flysync/KingbaseFlySync-V001R006C003B20211213-replicator/tools
./fspm install
5、复制license到安装目录
cp license.dat /home/flysync/kfsrep
6、应用环境变量,启动kfs
source ~/.bash_profile
replicator start
7、查看kfs状态
replicator status
fsrepctl status
fsrepctl services
kufl list
贰、目标端KES V8R6
一、安装前置配置
1、创建安装用户
groupadd flysync
useradd flysync -g flysync -G mysql
passwd flysync
2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压
tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz
3、配置将hosts文件,将源端和目标端服务器都加上去
vi /etc/hosts
192.168.100.113 mssql
192.168.100.124 kes8-2
4、配置/etc/security/limits.conf文件【可选】
vi /etc/security/limits.conf
flysync - nofile 65535
flysync - nproc 8096
mssql - nofile 65535
mssql - nproc 8096
5、开启时间同步服务【可选】
yum install ntp
systemctl start ntpd
systemctl enable ntpd
6、在/etc/sysctl.conf配置swappiness参数【可选】
vi /etc/sysctl.conf
vm.swappiness = 10
sysctl -p
7、检查依赖软件jdk和ruby【必须】
--jdk
java -version
版本小于1.8的,可以使用yum安装1.8版本
yum install java-1.8.0-openjdk.x86_64
也可以下载oracle的1.8版本的JDK包手动上传安装
--ruby
可以使用yum方式安装
yum install ruby
也可以使用KFS控制台服务器里自带的ruby包进行替换,位置在:/opt/KFS/console/media/rbenv,
将压缩包解压到/usr/local,然后配置/etc/profile文件里$PATH环境变量,将ruby的bin目录添加进去
vi /etc/profile
export PATH=$PATH:/usr/local/ruby/bin
配置完成后,使用source命令应用
source /etc/profile
二、安装
1、数据库配置
创建连接数据库账号并授权:
ksql>CREATE USER FLYSYNC SUPERUSER PASSWORD 'password';
2、flysync.ini配置
[defaults]
install-directory=/home/flysync/kesrep
profile-script=~/.bash_profile
rmi-port=11000
[kingbase8]
role=slave
master=mssql
master-kufl-port=3112
members=kes8
kufl-port=3112
replication-host=192.168.100.114
replication-port=54321
replication-user=flysync
replication-password=123456
datasource-type=kingbase
datasource-version=8
kingbase-dbname=TEST
svc-parallelization-type=none
svc-remote-filters=casetransform,rename
property=replicator.filter.casetransform.to_upper_case=false
property=replicator.applier.dbms.optimizeRowEvents=true
property=replicator.applier.dbms.maxRowBatchSize=5000
3、从KFS安装包目录下的extensions/jdbc拷贝jdbc包
V8R3(不含)之上的版本,使用kingbase8-8.6.0.jar
V8R3(含)以下版本,使用kingbase8-8.2.0.jar
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/extensions/jdbc
cp kingbase8-8.6.0.jar /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/flysync-replicator/lib
4、安装
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools
./fspm install
5、复到license文件到安装目录
cp license.dat /home/flysync/kesrep/license.dat
6、修改rename文件
vi /home/flysync/kesrep/filters-config/rename.csv
flysync_sqlserver2017,*,*,flysync_kingbase8,-,-
test,*,*,public,-,-
——备注:如果rename里模式映射是映射到public模式的话,flysync.ini里的大小写转换参数必须为小写,即property=replicator.filter.casetransform.to_upper_case的值必须为false
7、启动并初始化
/home/flysync/kesrep/flysync/cluster-home/bin/startall
source ~/.bash_profile
查看KFS状态
replicator status
查看服务状态
fsrepctl status
查看KUFL列表
kufl list
8、搬迁
--结构搬迁(极速模式)
ddlscan -target.service kingbase8 -source.user flysync_sqlserver2017 -source.pass Flysync1234 -source.db TEST1 -source.dbtype mssql -source.host 192.168.100.113 -source.port 1433 -source.schema test -target.db test -mgType 0
--数据搬迁
loader -source.user flysync_sqlserver2017 -source.pass Flysync1234 -source.db TEST1 -source.dbtype mssql -source.host 192.168.100.113 -source.port 1433 -source.schema test -target.service kingbase8 -mgType 0 -clean