暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL安装部署金仓KFS同步程序-- PostgreSQL单机作为源端时的安装部署

原创 KFS补给站 2024-12-05
240

 关键字:

KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、人大金仓、PostgreSQL单机、PostgreSQL单机安装部署KingbaseFlysyncPostgreSQL单机安装部署KFS、PostgreSQL单机安装同步程序

概述

Kingbase FlySync支持基于PostgreSQL作为源端的数据同步。

本文主要介绍PostgreSQL单机KFS源端配置。

二、安装前准备

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

2.1 环境信息

参数名

参数

源端数据库IP地址

10.10.5.49

安装KFS同步程序IP地址

10.10.5.49

PostgreSQL数据名

test

PostgreSQL数据库监听端口号

54321

可用内存

>4GB

可用储存空间

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

2.2 端口开放

1、关闭防火墙

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

service firewalld stop   

永久关闭防火墙服务

chkconfig firewalld off  

 图片.png

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

telnet xx.xx.xx.xx 端口号

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

端口

描述

11000/11001

KFS远程管理/监控RMI端口

3112

KUFL传输接口

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

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

adduser fly

passwd fly

2、将fly用户加入到PostgreSQL登录用户所在的用户组

查询PostgreSQL PG登录用户所在的用户组

groups  pg12

 图片.png

用root权限修改fly

usermod -G pg12 fly

 图片.png

2.ruby环境配置

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

unzip rbenv_2.2.2_linux_x64.zip

 图片.png

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

vi ~/.bash_profile

export RUBY_HOME=ruby绝对路径

export PATH=$RUBY_HOME/bin:$PATH

source ~/.bash_profile

2.5 安装包准备 

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

2.6 PostgreSQL数据库准备

2.6.1 . PostgreSQL 数据库是否支持decodebuf插件

PostgreSQL 数据库版本支持

• 9.6

• 10

• 11.5

• 12

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

1. 数据库 bin 目录下执行 ./pg_config --pkglibdir 查看动态加载库目录。

2. 数据库 bin 目录下执行 ./pg_config --sharedir 查看 share 目录。

3. 检查 PostgreSQL 安装目录下的动态加载库目录,是否有 decoderbuf.so 和 kfs_current_query. so 包,若没有,将 Kingbase FlySync 安装包中附带的 decoderbuf.so 和 kfs_current_query.so 复制到 PostgreSQL 安装目录的动态加载库目录下。

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

2.6.2 PostgreSQL数据库的相关配置

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

host replication all 127.0.0.1/32 md5

host replication all 0.0.0.0/0 md5

           

              

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

参数配置 

含义

max_wal_senders = 2* 数据库个数

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

wal_keep_segments = 4

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

wal_level = logical

日志级别

max_replication_slots = 2* 数据库个

复制槽数量 (最小为 4)

 

三、安装执行

3.1 上传解压KFS同步程序

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

 图片.png

3.2 配置flysync.ini

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

 图片.png

参数说明:

[defaults]


install-directory=/home/fly/kfs

同步程序安装目录

profile-script=~/.bash_profile


rmi-port=11000

rmi端口号,默认为11000



[postgresql]

服务名

role=master

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

master=10.10.5.49

源端服务的安装ip

members=10.10.5.49

本服务的安装ip

kufl-port=3112

KUFL端口号

replication-host=10.10.5.49

数据库ip

replication-port=54321

数据库端口

replication-user=SYSTEM

数据库用户名

replication-password=123456

数据库用户密码

datasource-type=postgresql

数据库类型

datasource-version=9.6

数据库版本

postgresql-extractor-method=xlogical

源端数据库解析方式

postgresql-dbname=postgres

数据库名称

svc-extractor-filters=replicate

replicator、replicator.filter.replicate.do、replicator.filter.replicate.ignore搭配使用同步指定模式下的dml

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

表示要同步dml的模式为public。

property=replicator.filter.replicate.ignore=public.t1

排除public模式下t1的dml同步.

3.3 执行安装

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

 图片.png

更新环境配置

source ~/.bash_profile

3.4 上传license文件

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

 图片.png

3.启动同步程序

replicator start

 图片.png

3.查看同步服务情况

fsrepctl servicesfsrepctl statusstateonline表示服务正常

 图片.png

四、测试验证

在源端数据库执行以下SQL

CREATE TABLE public.TEST_1(id int, name varchar(50));

INSERT INTO public.TEST_1 values(1, 'dawf');

 图片.png

执行kufl -service postgresql list查看解析情况

 图片.png

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

 



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论