源端

一、安装前置配置

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)的更多相关文章

  1. KFS replicator安装(Mysql-KES)

    源端mysql 一.安装前置配置 1.创建安装用户 groupadd flysync useradd flysync -g flysync -G mysql passwd flysync 2.上传安装 ...

  2. KingbaseFlySync 评估工具的使用

    关键字: KingbaseFlySync.Linux.x86_64.mips64el.aarch64.Java **** 评估工具的使用**** 1.查询评估工具所在服务器的硬件平台(x86_64.m ...

  3. 在 xampp 环境下安装 laravel

    网上搜了很多教程,很多都是采用命令行安装的.但是对于web前端来说,根本就不知道在干吗! 于是,打算写一篇文章,来教后面的人如何在 XAMPP 环境下安装 laravel. 初步认识 XAMPP(Ap ...

  4. HDP-2.6.1安装

    1.首先安装HDP的Ambari仓库文件到本机的/etc/yum.repos.d/ambari.repo路径下

  5. Kingbase V8R6集群安装部署案例---脚本在线一键扩容

    案例说明: KingbaseES V8R6支持图形化方式在线扩容,但是在一些生产环境,在服务器不支持图形化界面的情况下 ,只能通过脚本命令行的方式执行集群的部署或在线扩容. Tips: Kingbas ...

  6. KFS Oracle RAC 数据解析同步配置方法

    一.logminer方式解析 1.数据库配置 - Oracle 1. 数据库中需要先设置 NSL_DATE_FORMAT,命令如下,设置好以后需要重启数据库: ALTER SYSTEM SET NLS ...

  7. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  8. SOA_环境安装系列2_Oracle RCU安装和环境搭建(案例)

    2015-01-02 Created By BaoXinjian

  9. Tungsten Replicator学习总结

    之前基于Tungsten Replicator实现了内部使用的分布式数据库的数据迁移工具,此文为当时调研Tungsten Replicator时的学习心得,创建于2015.7.22. 1 概述 1.1 ...

随机推荐

  1. Tapdata Cloud 版本上新 | 支持通知自配置,支持GP、MQ数据源,界面更友好!

    Tapdata Cloud https://cloud.tapdata.net Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持Oracle.MySQL.PG.SQL Serv ...

  2. Lambda表达式的无参数无返回值的练习和Lambda表达式有参数有返回值的练习

    使用Lambda(无参无返回) 说明:给定一个厨师(Cook)接口,内含唯一的抽象方法makeFood,且无参数.无返回值.如下: public interface Cook{ public abst ...

  3. 网络通信协议分类和IP地址

    网络通信协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节 java.net ...

  4. 使用Win自带的远程工具连接Linux

    网上教程一大堆,我这边只简单记录一下,主要是黑屏问题,和剪贴板问题.Win连接Linux,一般都是使用的xrdp, 如果是使用的旧版本的Ubuntu,建议先装一下xfce桌面,gnome桌面一般连不起 ...

  5. python requests 使用代理池访问https站点返回乱码

    问题表现: 检查一下正常的请求头里面accept-encoding字段是否包含br,如果包含,果断pip install urllib3[brotli],详见ssl-warnings 记录另外一个问题 ...

  6. Solution -「CF520E」Pluses everywhere

    Step 1. 转化一步题目:考虑有 \(n\) 个小球,每个小球有 \(a_i\) 的价值,\(m\) 个板子,把板子插进小球间的空隙,且不能插在第 \(1\) 个球之前与第 \(n\) 个球之后. ...

  7. 如何在Excel批量查询电话号码归属地?

    手机号码归属地的重要性大家应该都清楚,如果取消或者更改手机号码归属地,那么一会增加用户的被诈骗风险;二是对套餐资费会产生影响,加剧企业间的竞争,加剧数字鸿沟;三是企业运营管理需要投入大量人力物力,是个 ...

  8. 【PMP学习笔记】第1章 PMP体系引论

    一.什么是项目? 项目是为创造独特的产品.服务或成果而进行的临时性工作. 项目管理是把事办成的方法论,万物皆可项目. 项目的特性 临时性:有明确的"起"和"止" ...

  9. 万答#3,MGR最佳配置参考,PFS里的监测指标要全开吗,mysqld进程占用内存过高怎么排查

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 问题1,有推荐的MGR运行最佳配置参考吗 在「3306π」社区广州站5月22日的分享会上,万里数据库CTO娄帅给出了他建议 ...

  10. 一步一图带你深入剖析 JDK NIO ByteBuffer 在不同字节序下的设计与实现

    让我们来到微观世界重新认识 Netty 在前面 Netty 源码解析系列 <聊聊 Netty 那些事儿>中,笔者带领大家从宏观世界详细剖析了 Netty 的整个运转流程.从一个网络数据包在 ...