KingbaseFlySync replicator安装KES-KES
目录
源端
一、安装前置配置
1、创建安装用户
-
groupadd flysync
-
useradd flysync -g flysync -G kingbase
-
passwd flysync
2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压
tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz
3、配置将hosts文件,将源端和目标端服务器都加上去
-
vi /etc/hosts
-
192.168.100.114 kes8
-
192.168.100.124 kes8-2
4、配置/etc/security/limits.conf文件【可选】
-
vi /etc/security/limits.conf
-
-
flysync - nofile 65535
-
-
flysync - nproc 8096
-
-
kingbase - nofile 65535
-
-
kingbase - nproc 8096
5、开启时间同步服务【可选】
-
yum install ntp -y
-
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
ruby --version
如果没安装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 /etc/profile
二、安装
1、检查数据库decoderbufs插件是否安装
-
----检查V8安装目录下的/lib目录,是否有decoderbufs.so和kfs_current_query.so包,若没有,将KingbaseFlySync安装包中附带的decoderbuf.so和kfs_current_query.so复制到Kingbase安装目录的/lib目录下。
-
-
----检查V8安装目录下的/share/extension目录,是否有decoderbufs.control文件,若没有,将KingbaseFlySync安装包中附带的decoderbuf.control复制到Kingbase安装目录的/share/extension目录下
-
-
ls /opt/Kingbase/ES/V8/Server/lib/decoderbufs.so
-
-
ls /opt/Kingbase/ES/V8/Server/lib/kfs_current_query.so
-
-
ls /opt/Kingbase/ES/V8/Server/share/extension/decoderbufs.control
-
-
如果没有,解压KFS安装包中自带的压缩包,将这些文件复制到相应目录
-
-
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/extensions/decoderbufs
-
-
cp kfs_decoderbufs_lib_linux64_v8r3.zip /home/kingbase
-
-
cd /home/kingbase
-
-
unzip kfs_decoderbufs_lib_linux64_v8r3.zip
-
-
cp ./lib/decoderbufs.so /opt/Kingbase/ES/V8/Server/lib
-
-
cp ./lib/kfs_current_query.so /opt/Kingbase/ES/V8/Server/lib
-
-
cp ./share/extension/decoderbufs.control /opt/Kingbase/ES/V8/Server/share/extension
-
-
chown kingbase:kingbase /opt/Kingbase/ES/V8/Server/lib/decoderbufs.so
-
-
chown kingbase:kingbase /opt/Kingbase/ES/V8/Server/lib/kfs_current_query.so
-
-
chown kingbase:kingbase /opt/Kingbase/ES/V8/Server/share/extension/decoderbufs.control
2、编辑安装目录下data/sys_hba.conf文件,增加如下配置,使用户有复制权限:
-
vi /opt/Kingbase/data/sys_hba.conf
-
-
host replication all 127.0.0.1/32 md5
-
-
host replication all 0.0.0.0/0 md5
3、编辑安装目录下data/kingbase.conf文件,修改如下配置:
-
vi /opt/Kingbase/data/kingbase.conf
-
-
max_wal_senders=4 #日志发送进程数,数据库个数*2,最小为4
-
-
wal_keep_segments=4 #保留日志数量,根据磁盘空间设置,越大越好
-
-
wal_level=logical #日志级别,必须为logical
-
-
max_replication_slots=4 #复制槽数量,数据库个数*2,最小为4
-
-
全部配置完成后,重启数据库使配置生效。
-
-
sys_ctl -D /opt/Kingbase/data restart
4、在安装用户家目录配置flysync.ini
-
flysync.ini必须配置在安装用户的家目录下
-
-
vi /home/flysync/flysync.ini
-
-
[defaults]
-
-
install-directory=/home/flysync/kfsrep
-
-
profile-script=~/.bash_profile
-
-
rmi-port=11000
-
-
[kingbase8]
-
-
role=master
-
-
master=kes8
-
-
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-extractor-method=xlogical
-
-
kingbase-dbname=TEST
-
-
svc-extractor-filters=replicate
-
-
property=replicator.filter.replicate.do=PUBLIC.*,flysync_kingbase8.*
-
-
property=replicator.filter.replicate.ignore=PUBLIC.T1
-
-
#大事务拆分参数,到达4000行开始拆分事务,默认为500
-
-
property=replicator.extractor.dbms.minRowsPerBlock=4000
-
-
#同步DDL语句所需,可以配置支持的DDL类型
-
-
property=replicator.extractor.dbms.ddlListFile=/home/flysync/kfsrep/filters-config/ddl_support_list.csv
-
-
#在开启同步DDL后生效,create table as类型语句,同时产生DDL和DML,是否保留DML,true为保留,false为不保留,默认为true。
-
-
property=replicator.extractor.dbms.keepMixDML=true
-
-
PG模式需要添加以下参数:
-
-
property=replicator.datasource.global.connectionSpec.databaseMode=pg
5、从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
6、安装
-
cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools
-
-
./fspm install
7、复制license文件到安装目录
cp license.dat kfsrep/
8、应用环境变量,启动replicator
-
source ~/.bash_profile
-
-
replicator start
9、查看服务状态
-
fsrepctl -service kingbase8 status
-
-
fsrepctl services
10、搬迁
--结构搬迁
ddlscan -target.service kes8_mysql8 -source.user FLYSYNC -source.pass 123456 -source.db TEST -source.dbtype kingbase8 -source.host kes8 -source.port 54321 -source.schema PUBLIC -target.db TEST1 -mgType 0
--数据搬迁
loader -source.user flysync -source.pass 123456 -source.db test -source.dbtype kingbase8 -source.host 192.168.100.114 -source.port 54321 -source.schema public -target.service kes8_mysql8 -mgType 0 -clean
目标端
一、安装前置配置
1、创建安装用户
-
groupadd flysync
-
-
useradd flysync -g flysync -G kingbase
-
-
passwd flysync
2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压
tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz
3、配置将hosts文件,将源端和目标端服务器都加上去
-
vi /etc/hosts
-
-
192.168.100.114 kes8
-
-
192.168.100.124 kes8-2
4、配置/etc/security/limits.conf文件【可选】
-
vi /etc/security/limits.conf
-
-
flysync - nofile 65535
-
-
flysync - nproc 8096
-
-
kingbase - nofile 65535
-
-
kingbase - nproc 8096
5、开启时间同步服务【可选】
-
yum install ntp -y
-
-
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
ruby --version
如果没安装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 /etc/profile
二、安装
1、创建数据库用户
ksql> CREATE USER FLYSYNC SUPERUSER PASSWORD '123456';
当数据库为 pg 兼容模式时,应在 kingbase.conf 文件中修改如下配置
名称 |
含义 |
ora_input_emptystr_isnull=off |
关闭空字符串显示为 null(pg 兼容模式需配置) |
2、在安装用户家目录配置flysync.ini
flysync.ini必须配置在安装用户的家目录下
-
vi /home/flysync/flysync.ini
-
-
[defaults]
-
-
# 安装目录
-
-
install-directory=~/kfsrep
-
-
# 环境变量脚本位置
-
-
profile-script=~/.bash_profile
-
-
# rmi端口,默认11000
-
-
rmi-port=11000
-
-
# 服务名
-
-
[kes82]
-
-
# 监听kufl获取的端口
-
-
kufl-port=3112
-
-
# master主机名
-
-
master=kes8
-
-
# 当前主机名
-
-
members=kes8-2
-
-
##指定连接master监听的kufl端口
-
-
master-kufl-port=3112
-
-
# 数据源类型
-
-
datasource-type=kingbase
-
-
# 同步数据库信息
-
-
replication-host=192.168.100.124
-
-
replication-user=flysync
-
-
replication-password=123456
-
-
replication-port=54321
-
-
# 同步服务角色
-
-
role=slave
-
-
## 指定连接的数据库名称
-
-
kingbase-dbname=test
-
-
## kingbase 版本号
-
-
datasource-version=8
-
-
## 过滤器开关配置
-
-
svc-remote-filters=rename
-
-
## 集群参数
-
-
# property=replicator.datasource.global.connectionSpec.use_cluster=true
-
-
# property=replicator.datasource.global.connectionSpec.slave_add=192.168.28.176,192.168.28.176
-
-
# property=replicator.datasource.global.connectionSpec.slave_port=1521,1521
-
-
### 过滤器详细配置
-
-
## replicate 表过滤
-
-
# property=replicator.filter.replicate.do=PUBLIC.*
-
-
# property=replicator.filter.replicate.ignore=PUBLIC.T1
-
-
## casetransform 大小写转换
-
-
# property=replicator.filter.casetransform.to_upper_case=true
-
-
## 优化参数
-
-
# 开启小事务合并入库
-
-
property=replicator.applier.dbms.optimizeRowEvents=true
-
-
# 指定单表一次入库的数据量
-
-
property=replicator.applier.dbms.maxRowBatchSize=5000
-
-
# 自动恢复尝试次数,系统 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
想要提升入库性能,可以配置optimizeRowEvents和maxRowBatchSize参数,小事务场景下, maxRowBatchSize 表示单表一次入库的数据量。
5000 表示每次入库 5000 条数据。
-
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 kfsrep/
6、配置rename【可选】
如果源端和目标端服务名不一样,或者数据库的模式名、表名、列名不一样,需要配置rename过滤器
----检查flysync.ini里有没有配置rename过滤器
svc-remote-filters=rename
没有的话进行添加,并使用命令fspm update更新配置
----修改rename.csv
-
cd /home/flysync/kfsrep/filters-config
-
-
vi rename.csv
添加以下内容:
flysync_kes81,*,*,flysync_kes82,-,-
保存后启动或重启replicator
replicator restart
7、启动replicator
-
source ~/.bash_profile
-
-
replicator start
8、查看服务状态
-
fsrepctl services
-
-
fsrepctl -service kes82 status
备注:重置KUFL日志
-
fsrepctl -service kes81 offline
-
-
fsrepctl -service kes82 offline
-
-
fsrepctl -service kes81 reset -all -y
-
-
fsrepctl -service kes82 reset -all -y
-
-
replicator restart
这篇文章转载于:学新通
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通
- 本文地址: https://www.swvq.com/boutique/detail/tanhehbfif
- 联系方式: luke.wu●vfv.cc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop怎么在一张图上加图
PHP中文网 06-24 -
photoshop像素不50怎么改
PHP中文网 06-22 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
excel下划线不显示怎么办
PHP中文网 06-23 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
抖音国际版要用什么加速器能流畅刷Tiktok的加速器
TK小达人 08-02