KFS 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
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
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
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
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
KFS replicator安装(KES-KES)的更多相关文章
- KFS replicator安装(Mysql-KES)
源端mysql 一.安装前置配置 1.创建安装用户 groupadd flysync useradd flysync -g flysync -G mysql passwd flysync 2.上传安装 ...
- KingbaseFlySync 评估工具的使用
关键字: KingbaseFlySync.Linux.x86_64.mips64el.aarch64.Java **** 评估工具的使用**** 1.查询评估工具所在服务器的硬件平台(x86_64.m ...
- 在 xampp 环境下安装 laravel
网上搜了很多教程,很多都是采用命令行安装的.但是对于web前端来说,根本就不知道在干吗! 于是,打算写一篇文章,来教后面的人如何在 XAMPP 环境下安装 laravel. 初步认识 XAMPP(Ap ...
- HDP-2.6.1安装
1.首先安装HDP的Ambari仓库文件到本机的/etc/yum.repos.d/ambari.repo路径下
- Kingbase V8R6集群安装部署案例---脚本在线一键扩容
案例说明: KingbaseES V8R6支持图形化方式在线扩容,但是在一些生产环境,在服务器不支持图形化界面的情况下 ,只能通过脚本命令行的方式执行集群的部署或在线扩容. Tips: Kingbas ...
- KFS Oracle RAC 数据解析同步配置方法
一.logminer方式解析 1.数据库配置 - Oracle 1. 数据库中需要先设置 NSL_DATE_FORMAT,命令如下,设置好以后需要重启数据库: ALTER SYSTEM SET NLS ...
- 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
- SOA_环境安装系列2_Oracle RCU安装和环境搭建(案例)
2015-01-02 Created By BaoXinjian
- Tungsten Replicator学习总结
之前基于Tungsten Replicator实现了内部使用的分布式数据库的数据迁移工具,此文为当时调研Tungsten Replicator时的学习心得,创建于2015.7.22. 1 概述 1.1 ...
随机推荐
- jfinal中如何使用过滤器监控Druid监听SQL执行?
摘要:最开始我想做的是通过拦截器拦截SQL执行,但是经过测试发现,过滤器至少可以监听每一个SQL的执行与返回结果.因此,将这一次探索过程记录下来. 本文分享自华为云社区<jfinal中使用过滤器 ...
- python 常用的数据类型
常用的数据类型 整数型 -> int 可以表示正数.负数.0 整数的不同进制的表示方法 十进制->默认的进制,无需特殊表示 二进制->以0b开头 八进制->以0o开头 十六进制 ...
- Windows对拍系统
有个东西可以帮助对拍,告诉你两个程序的输出哪不一样(但是无法得知错误位置,聊胜于无吧) 一.打开计算机 二.在上方输入$cmd$,摁下回车 三.弹出对话窗如下,输入$fc +$空格,输入两个需要比较 ...
- 常用API(Java)
常用API Object toString方法 场景:当我们使用toString方法想要输出对象变量时,官方提供的toString方法会直接输出对象所在的地址,而不是我们想要的对象变量,所以我们要把t ...
- 002 Redis使用及API
Redis的使用及相关API 1.作用: 提高查询效率 一定程度上可以减轻数据库服务器的冲击压力,从而保护了数据库 //1.是否包含key redisTemplate.hasKey(key) //2. ...
- 阻塞赋值-非阻塞赋值(LUT,FDC,BUF...)
一.看RTL级综合网络 1.1 FDC FDPE FDRE FDSE均是XILINX FPGA片上资源中四种不同的触发器,具体功能可直接百度 1.2 LUT是实现组合逻辑功能的一张真值表,根据输入值直 ...
- Java的学习日常
当2020年10月进入大学,我选择了计算机专业,本想着自己会摒弃高中的不良习惯,认真学习.但随着和同学们的熟悉,自己的本性也逐渐暴露出来.两年懒散表现,让现在回过头的自己都不忍直视. 虽然在学习期间, ...
- Page和list的区别 mybatis
先看一段代码 点击查看代码 @Override public Result findUserPage(PageParam pageParam) { Page<SysUser> page = ...
- 输出以二叉树表示的算术表达式(严6.51)--------西工大noj
题解 这道题目说的很诡异,其实没有什么把括号补上....仅仅是先序读入,然后中序输出就行了 代码 #include <stdio.h> #include <stdlib.h> ...
- python中的标识符和保留字
保留字,有一些单词被赋予了特定的意义,这些单词不能作为对象的名字 想要快速获取python中的关键字可以通过以下的程 序来快速实现 import keyword print(keyword.kwlis ...