polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署

2023年 10月 12日 30.0k 0

polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署

关键字:

KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、polardb、polardb安装部署KingbaseFlysync、polardb单机安装部署KFS、polardb单机安装同步程序

概述

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

安装前准备

前置条件:已经完成polardb数据库的安装部署

2.1 环境信息

参数名 参数值
源端数据库IP地址 10.10.3.199
安装KFS同步程序IP地址 10.10.3.199
KESV8数据名 test
Kesv8数据库监听端口号 5432
可用内存 >4GB
可用储存空间 >1GB+7*每日数据增量

2.2 端口开放

1、关闭防火墙

停止防火墙服务,重启电脑后仍然会开启

service firewalld stop

关闭防火墙服务开机启动,重启后生效

chkconfig firewalld off

polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-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

polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-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 polardb数据库准备

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

    host replication all 0.0.0.0/0 md5

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

    polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-1

    3.2 配置flysync.ini

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

    [defaults]

    install-directory = /home/flysync/replicator

    profile-script = ~/.bash_profile

    rmi-port = 11000

    [m_polardb]

    kufl-port = 3115

    datasource-type = polardb

    role = master

    replication-host = 127.0.0.1

    replication-port = 5432

    replication-user = system

    replication-password = 123456

    repl_auto_recovery_max_attempts = 30

    repl_auto_recovery_delay_interval = 60s

    repl_auto_recovery_reset_interval = 300s

    repl_mode = normal

    property = replicator.store.kufl.fsyncOnFlush=false

    property = replicator.extractor.dbms.minRowsPerBlock=1000

    property = replicator.extractor.dbms.maxLobSize=5000000

    property = replicator.filter.bic.includeAllCols=false

    master = localhost199

    members = localhost199

    polardb-dbname = test

    polardb-extractor-method = xlogical

    datasource-version = 11.9

    参数说明:

    [defaults]
    install-directory=/home/flysync/replicator 同步程序安装目录
    profile-script=~/.bash_profile
    rmi-port=11000 rmi端口号,默认为11000
    [m_polardb] 服务名
    role=master 同步角色,源端为master,目标端为slave
    master=localhost199 源端服务的安装ip/hostname
    members= localhost199 本服务的安装ip/hostname
    kufl-port=3115 KUFL端口号
    replication-host=127.0.0.1 数据库ip
    replication-port=54321 数据库端口
    replication-user=flysync 数据库用户名
    replication-password=flysync 数据库用户密码
    datasource-type=kingbase 数据库类型
    polar-extractor-method=xlogical 解析方式
    datasource-oracle-service=test 数据库名
    property=replicator.extractor.dbms.tablePatterns=realestate.* 表过滤
    property=replicator.extractor.dbms.scnSegmentationThreshold=5000 是否保留DML
    svc-extractor-filters=dropstatementdata 开启过滤DDL语句

    注意:

    replicator.extractor.dbms.tablePatterns为表过滤参数,格式为“模式名.表名”;

    3.3 执行安装

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

    polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-1

    更新环境配置

    source ~/.bash_profile

    3.4 上传license文件

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

    polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-1

    3.5 启动同步程序

    replicator start

    polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-1

    3.6 查看同步服务情况

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

    四、测试验证

    在源端数据库执行以下sql

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

    Insert into test(id,name) values(1,'test');

    polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-1

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

    polardb安装部署人大金仓KFS同步程序—polardb作为源端时的安装部署-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

    参考文档:

    《Kingbase Flysync 安装部署手册》

    相关文章

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

    发布评论