Kingbase数据源安装部署人大金仓KFS同步程序—kingbase ES集群作为源端时的安装部署

Kingbase数据源安装部署人大金仓KFS同步程序—kingbase ES集群作为源端时的安装部署

关键字:

KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、kingbase ES集群、Kingbase ES集群安装部署KingbaseFlysync

概述

Kingbase FlySync 支持基于 Kingbase xlogical 形式的数据同步,通过解析 kingbase 的 xlogical日志 来进行数据的增量解析。下面将介绍 kingbase ES 作为复制的源端进行部署的方式。

安装前准备

前置条件:已经完成Kingbase ES集群的安装部署

2.1 环境信息

参数名

参数值

源端数据库IP地址

10.10.3.199

安装KFS同步程序IP地址

10.10.3.199

Kingbase ES数据库名

test

Kesv8数据库监听端口号

54321

可用内存

>4GB

可用储存空间

>1GB+7*每日数据增量

2.2 端口开放

1、临时关闭防火墙服务(服务器重启后失效)

service firewalld stop

永久关闭防火墙服务

chkconfig firewalld off

2、若有特殊情况如业务要求需要开启防火墙,则需要保证KFS同步程序所需端口可用,若不可用,可以在后续配置中修改默认端口。

telnet xx.xx.xx.xx 端口号

Kingbase FlySync同步服务运行所需的默认端口如下:

端口

描述

11000/11001

KFS远程管理/监控RMI端口

3112

KUFL传输接口

2.3 创建KFS同步程序安装用户

假设KFS同步程序安装用户为fly,创建如下(本文设置fly用户密码为123):

adduser fly

passwd fly

2.4 ruby环境配置

上传ruby包到KFS同步程序安装服务器下并解压:

unzip rbenv_2.2.2_linux_x64.zip

然后在KFS同步程序安装用户的环境变量中进行配置

vi ~/.bash_profile

export RUBY_HOME=ruby绝对路径

export PATH=$RUBY_HOME/bin:$PATH

source ~/.bash_profile

2.5 安装包准备

准备需要安装的Kingbase FlySync同步程序安装包和license文件。

2.6 KES 集群数据库准备

2.6.1 检查kes集群是否支持decodebuf插件:

在 复 制 中 我 们 使 用 了 decoderbufs 插 件 进 行 中 间 数 据 的 存 储, 因 此 首 先 检 查 V8 数 据 库 是 否 已 经 支 持 decoderbufs 插 件。 在 Kingbase FlySync 的 安 装 包 中 extensions 目 录 中 提 供 了 相 关 依 赖 文 件 (kfs_decoderbufs_lib_mips64_v8r2.zip),解压 zip 包可得到。

1. 检查 V8 安装目录下的/lib 目录,是否有 decoderbuf.so 和 kfs_current_query.so 包,若没有, 将 Kingbase FlySync 安装包中附带的 decoderbuf.so 和 kfs_current_query.so 复制到 Kingbase 安装目录的/lib 目录下。

2. 检查 V8 安装目录下的/share/extension 目录,是否有 decoderbufs.control 文件,若没有,将 Kingbase FlySync 安装包中附带的 decoderbuf.control 复制到 Kingbase 安装目录的/share/extension 目录下。

2.6.2 Kingbase ES集群数据库相关设置:

1. 编辑安装目录下 data/sys_hba.conf 文件, 增加如下配置,使用户有复制权限:

host replication all 127.0.0.1/32 md5

host replication all 0.0.0.0/0 md5

2. 编辑安装目录下 data/es_rep.conf 文件, 修改如下配置:

参数配置

含义

max_wal_senders = 2* 数据库个数

日志发送进程数 (最小为 4)

wal_keep_segments = 4

保留日志数量,根据磁盘空间设置,越大越好

max_replication_slots = 2* 数据库个数

复制槽数量 (最小为 4)

ora_input_emptystr_isnull=off

关闭空字符串显示为 null(pg 兼容模式需配置)

全部配置完成后,重启数据库生效

三、安装执行

3.1 上传并解压KFS同步程序

tar –zxvf KingbaseFlysync-Vxxxxxxxxxxxxxx-replicator.tar.gz

3.2 配置flysync.ini

在$HOME目录下新建flysync.ini文件,示例如下:

[defaults]

install-directory = /home/flysync/replicator

profile-script = ~/.bash_profile

rmi-port = 11000

[m_kes_3114]

kufl-port = 3114

datasource-type = kingbase

role = master

replication-host = 10.10.3.199

replication-port = 54321

replication-user = flysync

replication-password = flysync

repl_auto_recovery_max_attempts = 30

repl_auto_recovery_delay_interval = 60s

repl_auto_recovery_reset_interval = 300s

repl_mode = normal

property = replicator.filter.replicate.do=realestate.*

property = replicator.datasource.global.connectionSpec.databaseMode=oracle

svc-extractor-filters = replicate

master = localhost199

members = localhost199

kingbase-dbname = test

kingbase-extractor-method = xlogical

datasource-version = 8

property=replicator.datasource.global.connectionSpec.use_cluster=true property=replicator.datasource.global.connectionSpec.slave_add=10.10.3.199,10.10.3.200

property=replicator.datasource.global.connectionSpec.slave_port=54321,54321

property= replicator.datasource.global.connectionSpec.nodeList= node1,node2

参数说明:

[defaults]

install-directory=/home/flysync/replicator

同步程序安装目录

profile-script=~/.bash_profile

rmi-port=11000

rmi端口号,默认为11000

[m_kes_3114]

服务名

role=master

同步角色,源端为master,目标端为slave

master=10.10.3.199

源端服务的安装ip

members=10.10.3.199

本服务的安装ip

kufl-port=3112

KUFL端口号

replication-host=10.10.3.199

数据库ip

replication-port=54321

数据库端口

replication-user=flysync

数据库用户名

replication-password=flysync

数据库用户密码

datasource-type=kingbase

数据库类型

oracle-extractor-method=logminer

解析方式

datasource-oracle-service=test

数据库名

property=replicator.extractor.dbms.tablePatterns=realestate.*

表过滤

property=replicator.extractor.dbms.scnSegmentationThreshold=5000

是否保留DML

svc-extractor-filters=dropstatementdata

开启过滤DDL语句

property=replicator.datasource.global.connectionSpec.use_cluster=true

指定是否使用读写分离功能标识,默 认取值为:false。此配置项关闭 JDBC 就变成单机 JDBC,无读写分离功能

property=replicator.datasource.global.connectionSpec.slave_add=192.168.1.2

当 use_cluster 为 true 时,指定后端 V8 的备节点地址;当 use_cluster 为 false 时无效

property=replicator.datasource.global.connectionSpec.slave_port=54321

当 use_cluster 为 true 时,指定后端 V8 的备节点端口,与备节点地址对 应;当 use_cluster 为 false 时无效

Property= replicator.datasource.global.connectionSpec.nodeList

若为 V8R6 则还需添加该参数

注意:

  1. nodeList 为集群中指定的各节点的名称,各节点的名称可通过数据库提供的工具./repmgr cluster show 命令查询获取。要求开启读写分离时必须配置此项,不允许为空并要与节点的地址配置顺序完全一致。 各个节点名称之间用逗号分隔,如:nodeList=node1,node2
  2. replication-host推荐使用集群vip方式部署

3.3 执行安装

执行解压目录/tools/下的fspm install

更新环境配置

source ~/.bash_profile

3.4 上传license文件

上传license文件至$HOME/kfs/目录

3.5 启动同步程序

replicator start

3.6 查看同步服务情况

fsrepctl services或fsrepctl status(state:online表示服务正常)

四、测试验证

在源端数据库执行以下sql

Create table realestate.test(id int,name varchar(64));

Insert into test values(1, ‘test’)

执行kufl –service m_kes_3114 list –last查看同步解析情况

四、总结

KFS同步程序常见操作命令:

KFS同步程序的启停

replicator start

replicator stop

replicator restart

查看同步服务状态

fsrepctl services

fsrepctl -service 同步服务名 status

同步服务的启停

fsrepctl -service 同步服务名 online

fsrepctl -service 同步服务名 offline

重置KUFL

fsrepctl -service 同步服务名 reset –all –y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值