KFS replicator安装(Mysql-KES)

源端mysql

一、安装前置配置

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.51 mysql

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、mysql系统参数配置

vi /etc/my.cnf

[mysqld]

character-set-server= utf8

binlog_format= ROW

default-time-zone= '+08:00'

server-id= 1

log-bin= mysql-bin

如果源端是mysql8.0以上,目标端是mysql5.7再加一行参数

[client]

default-character-set=utf8

如果源端是mysql的从库,需要再添加以下参数,确保主库的binlog日志能传送到从库:

[mysqld]

log_slave_updates=1

如果含有大数据量表时,需修改临时表空间大小限制,添加下列参数

[mysqld]

tmp_table_size=256M #临时表大小

max_heap_table_size=256M #内存表大小

保存后重启数据库

systemctl restart mysqld

2、连接帐号配置

建立帐号并给予相应的权限

mysql>CREATE USER flysync@'%' IDENTIFIED BY 'password';

mysql>GRANT ALL ON *.* TO flysync@'%' WITH GRANT OPTION;

3、配置flysync.ini文件

将示例ini文件复制到安装用户家目录下,并修改

cp /home/flysync/KingbaseFlySync-V001R006C003B20211213-replicator/flysync-replicator/samples/ini /flysync_mysql_source.ini    /home/flysync/flysync.ini

 

vi /etc/flysync/flysync.ini

 

[defaults]

# 安装目录

install-directory=~/kfsrep

# 环境变量脚本位置

profile-script=~/.bash_profile

# rmi端口,默认11000

rmi-port=11000

 

# 服务名

[mysql]

# 监听kufl获取的端口

kufl-port=3112

# master主机名

master=mysql

# 当前主机名

members=mysql

 

# 数据源类型

datasource-type=mysql

# 同步数据库信息

replication-host=192.168.100.52

replication-user=flysync

replication-password=123456

replication-port=3306

 

# 同步服务角色

role=master

 

## mysql 指定的my.cnf文件位置、bin目录、忽略mysql_dump和用户权限检测

#repl_datasource_mysql_conf=/home/ffeng/mysql-8.0.16-linux-glibc2.12-x86_64/my.cnf

#preferred_path=/home/ffeng/mysql-8.0.16-linux-glibc2.12-x86_64/bin

skip_validation_check=MySQLDumpCheck,MySQLPermissionsCheck

 

## 过滤器开关配置

 svc_extractor_filters=dropstatementdata,replicate

 

### 过滤器详细配置

## replicate 表过滤

 property=replicator.filter.replicate.do=test.*,flysync_mysql.*

# property=replicator.filter.replicate.ignore=PUBLIC.T1

## casetransform 大小写转换

# property=replicator.filter.casetransform.to_upper_case=true

 

## 优化参数

# 达到多少条记录后,分事务,默认 500

#property=replicator.extractor.dbms.maxRowsByBlock=500

# 若多少秒没有新的事务产生,那么就直接返回该事务,不再等待合并

#property=replicator.extractor.dbms.maxWaitingTime=2

# 大事务优化参数

property=replicator.extractor.dbms.minRowsPerBlock=4000

 

# 自动恢复尝试次数,系统 OFFLINE 时,尝试将系统重新置于ONLINE状态的次数

repl_auto_recovery_max_attempts=100

# 系统 OFFLINE 时,尝试 ONLINE 之前的等待时间,s(秒)、m(分钟)、h(小时)

repl_auto_recovery_delay_interval=30s

# 系统自动恢复次数重置时间,s(秒)、m(分钟)、h(小时)

repl_auto_recovery_reset_interval=300s

分离部署时,mysql bin目录还需要配置在linux的环境变量中

vi /etc/profile

export PATH=/usr/bin:$PATH

source /etc/profile

4、安装

切换到安装包目录下的tools子目录

cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools

./fspm install

5、将license文件复制到安装目录下

cp license_8703_0.dat /home/flysync/kfsrep/license.dat

6、启动KFS

replicator start

查看KFS状态

replicator status

查看服务状态

fsrepctl status

查看KUFL列表

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.51 mysql

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=oracle11g

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_mysql,*,*,flysync_mysql8kingbase8,-,-

test1,*,*,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 -source.pass 123456 -source.db test -source.dbtype mysql -source.host 192.168.100.52 -source.port 3306 -source.schema TEST -target.db test -mgType 0

--数据搬迁

loader  -source.user flysync -source.pass 123456 -source.db test -source.dbtype mysql -source.host 192.168.100.52 -source.port 3306 -source.schema test -target.service kingbase8 -mgType 0 -clean

posted @ 2021-12-28 09:12  KINGBASE研究院  阅读(154)  评论(0编辑  收藏  举报