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

2023年 10月 12日 64.4k 0

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

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

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

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

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

vi ~/.bash_profile

export RUBY_HOME=ruby绝对路径

export PATH=RUBYHOME/bin:RUBY_HOME/bin:RUBYH​OME/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 包可得到。

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

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

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

  • 编辑安装目录下 data/sys_hba.conf 文件, 增加如下配置,使用户有复制权限:
  • host replication all 127.0.0.1/32 md5

    host replication all 0.0.0.0/0 md5

  • 编辑安装目录下 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

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

    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 则还需添加该参数

    注意:

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

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

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

    更新环境配置

    source ~/.bash_profile

    3.4 上传license文件

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

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

    3.5 启动同步程序

    replicator start

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

    3.6 查看同步服务情况

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

    四、测试验证

    在源端数据库执行以下sql

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

    Insert into test values(1, ‘test’)

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

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

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

    四、总结

    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

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论