KingbaseFlySync replicator安裝(Mysql-KES)

沉舟側畔千帆過_ 2022-01-15 03:23:26 阅读数:282

kingbaseflysync replicator mysql-kes 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

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命令應用

vi /etc/profile
export PATH=$PATH:/usr/local/ruby/bin

二、安裝

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

查看服務狀態

replicator 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

--數據搬遷

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

版权声明:本文为[沉舟側畔千帆過_]所创,转载请带上原文链接,感谢。 https://javamana.com/2022/01/202201080609456914.html