【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES
【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES
- 部署KES数据库到KES数据库同步服务
- 1.登录KFS管理平台
- 2.开始配置数据节点信息
- (1)配置node1数据节点
- (2)配置node2数据节点
- 3.KFS拓扑图配置
- 4.开始部署
- 5.启动同步程序并查验是否运行正常
- 测试同步
- 1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下
- 2.将node1传过来的数据导入到node2数据库中
- 3.修改拓扑图配置实现增量搬迁同步
- (1).修改node1节点配置
- (2).修改node2节点配置
- (3).更新同步配置
- (4).启动同步节点
- (5).更新同步配置
- 数据校验
- 1.准备数据
- 2.校验配置
- 3.新建校验任务
- 4.新建调度任务
- 5.执行校验
- 数据自动修复
- 1.新建数据自动修复任务
- 2.再次执行数据校验任务
- 3.查询修复结果
- 配置告警邮件
- 1.告警邮箱配置
- 2.配置告警管理
- 3.错误问题
- (1).邮件发送提示失败
- (2).配置告警提示失败
- 4.邮件告警展示
部署KES数据库到KES数据库同步服务
1.登录KFS管理平台
| 账号 | 密码 |
|---|---|
| admin | admin |
| user_0017 | Kfs123#$ |


2.开始配置数据节点信息
- 【部署管理】>【节点管理】>【新建】> 【填入相关信息】 >【保存】
- 安装目录:/home/flysync/replicator
(1)配置node1数据节点

点击保存
(2)配置node2数据节点

点击保存

3.KFS拓扑图配置
【部署管理】>【拓扑配置】
4.开始部署



5.启动同步程序并查验是否运行正常
【部署管理】> 【节点管理】>【启动】。
查看服务状态
【部署管理】> 【服务管理】

测试同步
1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下
[root@node1 ~]# su - kingbase
上一次登录:五 11月 17 18:13:59 CST 2023pts/1 上
[kingbase@node1 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node1 bin]$ ./sys_dump -U flysync -d test -f /tmp/exam.dmp -Fc -n exam
[kingbase@node1 bin]$ scp /tmp/exam.dmp node2:/tmp
kingbase@node2's password:
exam.dmp 100% 16KB 16.3KB/s 00:00
[kingbase@node1 bin]$
2.将node1传过来的数据导入到node2数据库中
[root@node2 ~]# su - kingbase
上一次登录:五 11月 17 15:54:16 CST 2023
[kingbase@node2 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node2 bin]$ ./ksql -Usystem test -c 'create schema exam0017'
CREATE SCHEMA
[kingbase@node2 bin]$ ./sys_restore -Usystem /tmp/exam.dmp -d test -Fc -g exam -G exam0017
[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# ALTER TABLE exam01.course RENAME TO course0017;
test=# \d exam0017.*索引 "exam0017.cno_pk"栏位 | 类型 | 键值? | 定义
------+--------------+-------+------cno | numeric(2,0) | 是 | cno
主键(PK),btree, 给数据表 "exam0017.course"数据表 "exam0017.course"栏位 | 类型 | 校对规则 | 可空的 | 预设
-----------+----------------------------+----------+----------+------cno | numeric(2,0) | | not null | cname | character varying(30 char) | | not null | clevel | character varying(13 char) | | | pass_mark | numeric(5,0) | | not null |
索引:"cno_pk" PRIMARY KEY, btree (cno)
检查约束限制"pass_mark_ck" CHECK (pass_mark > 0::numeric)
由引用:TABLE "exam0017.score" CONSTRAINT "cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)索引 "exam0017.id_no_uk"栏位 | 类型 | 键值? | 定义
-------+----------------------------+-------+-------id_no | character varying(18 char) | 是 | id_no
唯一的,btree, 给数据表 "exam0017.student"索引 "exam0017.ino_pk"栏位 | 类型 | 键值? | 定义
------+--------------+-------+------ino | numeric(3,0) | 是 | ino
主键(PK),btree, 给数据表 "exam0017.instructor"数据表 "exam0017.instructor"栏位 | 类型 | 校对规则 | 可空的 | 预设
-------+----------------------------+----------+----------+------ino | numeric(3,0) | | not null | iname | character varying(20 char) | | not null | title | character varying(30 char) | | |
索引:"ino_pk" PRIMARY KEY, btree (ino)
由引用:TABLE "exam0017.score" CONSTRAINT "ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)数据表 "exam0017.instructor_history"栏位 | 类型 | 校对规则 | 可空的 | 预设
----------+----------------------------+----------+----------+------ino | numeric(3,0) | | | iname | character varying(20 char) | | not null | title | character varying(30 char) | | | res_date | date | | | 索引 "exam0017.phone_uk"栏位 | 类型 | 键值? | 定义
-------+---------------+-------+-------phone | numeric(11,0) | 是 | phone
唯一的,btree, 给数据表 "exam0017.student"数据表 "exam0017.score0017"栏位 | 类型 | 校对规则 | 可空的 | 预设
-------------+--------------+----------+----------+------sno | numeric(4,0) | | not null | cno | numeric(2,0) | | not null | ino | numeric(3,0) | | not null | exam_date | date | | not null | score | numeric(5,0) | | | certificate | boolean | | |
索引:"score_pk" PRIMARY KEY, btree (cno, sno, ino, exam_date)
检查约束限制"score_ck" CHECK (score >= 0::numeric)
外部键(FK)限制:"cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)"ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)"sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)
触发器:t_update_score AFTER INSERT ON exam0017.score FOR EACH ROW
BeginUPDATE exam0017.score t SET t.certificate=0 WHERE t.score<70;
END索引 "exam0017.score_pk"栏位 | 类型 | 键值? | 定义
-----------+--------------+-------+-----------cno | numeric(2,0) | 是 | cnosno | numeric(4,0) | 是 | snoino | numeric(3,0) | 是 | inoexam_date | date | 是 | exam_date
主键(PK),btree, 给数据表 "exam0017.score"序列数 "exam0017.seq_student_sno"类型 | 起始值 | 最小值 | 最大值 | 增量 | 循环? | 缓存
--------+--------+--------+--------+------+-------+------bigint | 1001 | 1 | 9999 | 1 | no | 1索引 "exam0017.sno_cno_pk"栏位 | 类型 | 键值? | 定义
------+--------------+-------+------sno | numeric(4,0) | 是 | sno
主键(PK),btree, 给数据表 "exam0017.student"数据表 "exam0017.student"栏位 | 类型 | 校对规则 | 可空的 | 预设
----------+----------------------------+----------+----------+-----------------------------------------------sno | numeric(4,0) | | not null | nextval('exam0017.seq_student_sno'::regclass)sname | character varying(20 char) | | | gender | character varying(2 char) | | | phone | numeric(11,0) | | not null | id_no | character varying(18 char) | | | city | character varying(20 char) | | | reg_date | date | | | job | character varying(30 char) | | | company | character varying(30 char) | | |
索引:"sno_cno_pk" PRIMARY KEY, btree (sno)"id_no_uk" UNIQUE CONSTRAINT, btree (id_no)"phone_uk" UNIQUE CONSTRAINT, btree (phone)
检查约束限制"gender_ck" CHECK (gender::text = 'm'::text OR gender::text = 'f'::text)
由引用:TABLE "exam0017.score" CONSTRAINT "sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)视图 "exam0017.v_score_information"栏位 | 类型 | 校对规则 | 可空的 | 预设
-------+----------------------------+----------+--------+------sname | character varying(20 char) | | | iname | character varying(20 char) | | | cname | character varying(30 char) | | | score | numeric(5,0) | | | test=# SELECT relkind,relname FROM sys_class WHERE relnamespace = (select oid from sys_namespace where nspname='exam0017') ;relkind | relname
---------+---------------------r | courser | instructor_historyr | studentS | seq_student_snov | v_score_informationi | cno_pki | id_no_uki | ino_pki | phone_uki | score_pki | sno_cno_pkr | scorer | instructor
(13 行记录)
test=#
- 现在已将表结构和数据都存到了node2中
3.修改拓扑图配置实现增量搬迁同步
(1).修改node1节点配置
【部署管理】>【拓扑管理】 >【双击node1节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。



(2).修改node2节点配置
【部署管理】>【拓扑管理】 >【双击node2节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。





(3).更新同步配置
然后点击【安装/更新】按钮,更新配置


点击确定

耐心等待直到出现安装完成字样

(4).启动同步节点

点击停止后再次启动启动





(5).更新同步配置
在node1数据库exam模式的course和instructor表下插入数据
[kingbase@node1 bin]$ ./ksql -U flysync -dtest
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# INSERT INTO exam.course VALUES(40,'KFS','middle',80);
INSERT 0 1
test=# INSERT INTO exam.instructor VALUES(108,'fenxiaoyue','Intermediate Instructor');
INSERT 0 1
test=# \q
[kingbase@node1 bin]$
在node2数据库exam模式下查询course和instructor表新增的数据
[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# SELECT * FROM exam0017.course0017 WHERE cno=40; cno | cname | clevel | pass_mark
-----+-------+--------+-----------40 | KFS | middle | 80
(1 行记录)test=# SELECT * FROM exam0017.instructor WHERE ino=108;ino | iname | title
-----+------------+-------------------------108 | fenxiaoyue | Intermediate Instructor
(1 行记录)test=#
数据校验
1.准备数据
在node2(target端)误操作制造主备两端数据不一致。
[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# UPDATE exam0017.student SET phone=15723449970 WHERE sno=1008;
UPDATE 1
test=# DELETE FROM exam0017.student WHERE sno=1006;
DELETE 1
test=# INSERT INTO exam0017.student(sno,sname,gender,phone) VALUES('1009','Huang Tao','m',13812447980) ;
INSERT 0 1
test=# \q
[kingbase@node2 bin]$
2.校验配置
【数据校验】>【校验配置】>【数据校验及数据修复配置】

- 参数配置如下
- 任务并行数 2(不要超出物理CPU核数)。
- 校验核心线程数 5。
- 校验同步大小 50000。
- 修复批量大小 10000。
- 校验同步记录日志 开启。
- 校验结果自动清除 开启,设置为3天。
- 是否校验大对象 开启。
- 大对象校验阈值 5000000
- 同步跳过超阈值数据 关闭。
- 刷新分片设置 关闭。
3.新建校验任务
【数据校验】 >【任务配置】 >【新建】。




源配置:
选择exam模式下的所有表

目标配置:
选择exam0017模式下的所有表



4.新建调度任务
【调度管理】> 【新建调度】


5.执行校验
执行第一次校验


点击查看详情查看校验结果

数据自动修复
1.新建数据自动修复任务





2.再次执行数据校验任务

3.查询修复结果


配置告警邮件
1.告警邮箱配置


2.配置告警管理




点击测试

收到邮件点击保存
3.错误问题
(1).邮件发送提示失败
- 检查你的虚拟机是否网络畅通
- 检查你的邮箱smtp是否开通,授权码填写在密码栏
(2).配置告警提示失败
检查你新增加的用户邮箱是否和告警配置的一致

4.邮件告警展示




相关文章:
【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES
【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES 部署KES数据库到KES数据库同步服务1.登录KFS管理平台2.开始配置数据节点信息(1)配置node1数据节点(2)配置node2数据节点 3.KFS拓扑图配置4.开始部署5.启动同步程序并查验是否运行正常 测试同步1.从node1数据…...
企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复
随着科技技术的不断发展,网络技术得到了快速提升,但网络安全威胁也不断增加,近期,云天数据恢复中心陆续接到很多企业的求助信息,企业的计算机服务器遭到了mallox勒索病毒攻击,导致企业的所有业务中断&#…...
Sonar生成PDF错误Can‘t get Compute Engine task status.Retry..... HTTP error: 401
报错及修改: 报错:INFO: Can’t get Compute Engine task status.Retry… org.sonarqube.ws.connectors.ConnectionException: HTTP error: 401, msg: , query: org.apache.commons.httpclient.methods.GetMethod7a021f49 ERROR: Problem generating PD…...
storage和正则表达式
一、Storage 1.认识Storage WebStorage主要提供了一种机制,可以让浏览器提供一种比cookie更直观的key、value存储方式: localStorage:本地存储,提供的是一种永久性的存储方法,在关闭掉网页重新打开时,存…...
【数据结构】图的广度优先遍历
一.广度优先遍历的基本思想 (1)访问顶点v; (2)依次访问v的各个未被访问的邻接点v1,v2,v3……,vk; (3)分别从v1,v2,v3……...
AM@函数展开成幂级数@间接法@常用麦克劳林幂级数展开公式
文章目录 间接法推导幂级数展开常用麦克劳林幂级数展开公式应用例例例 间接法推导幂级数展开 已知函数的幂级数展开公式间接推导其他函数幂级数 使用原始的推导公式推导函数的幂级数展开是繁琐不便的,需要分别计算各项系数 a n f ( n ) ( 0 ) n ! a_{n}\frac{f^{(n)}(0)}{n!}…...
LeetCode994.腐烂的橘子
看完题我觉得这不是和上一道岛屿的题一样简单嘛,然后写了将近2个小时才写出来,我的思路就是,用check()先对grid检查一下,是否有以下情况: (如果有1的周围都是空,则这个位置用不腐烂,…...
【开源】基于Vue和SpringBoot的康复中心管理系统
项目编号: S 056 ,文末获取源码。 \color{red}{项目编号:S056,文末获取源码。} 项目编号:S056,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…...
【音视频基础】AVI文件格式
AVI文件采用的是RIFF文件结构方式。波形音频wave,MIDI和数字视频AVI都采用这种格式存储。 AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块(Chunk),每个数据块包含3个部分 4字节的数据块标记(或者叫…...
图书馆整理I(从尾到头打印列表),剑指offer,力扣
目录 题目地址: 我们直接看题解吧: 解题方法: 难度分析: 审题目事例提示: 解题思路(辅助栈): 代码(递归): 代码(列表插入): 相似题目对…...
C++编写的多线程自动爬虫程序
目录 引言 一、程序的设计 二、程序的实现 三、程序的测试 四、优化与改进 五、代码示例 总结 引言 随着互联网的快速发展,网络爬虫程序已经成为数据采集、信息处理的重要工具。C作为一种高效的编程语言,具有高效的并发处理能力和丰富的网络编程…...
SMB信息泄露的利用
一、背景 今天分享SMB信息泄露,SMB(Server Message Block)网络通信协议,早些时候被用于Web链接和客户端与服务器之间的信息通信,现在大部分Web页面使用HTTP协议,在web领域应用较少。另一方面SMB协议还是被…...
QT自定义信号,信号emit,信号参数注册
qt如何自定义信号 使用signals声明返回值是void在需要发送信号的地方使用 emit 信号名字(参数)进行发送 在需要链接的地方使用connect进行链接 ct进行链接...
06.webpack性能优化--构建速度
优化babel-loaderhappyPackIgnorePluginparalleUglifyPluginnoParse自动刷新 1 happypack多进程打包 js单线程,开启多进程打包提高构建速度(特别是多核CPU) const HappyPack require(happypack)module.exports smart(webpackCommonConf,…...
11-15 周三 softmax 回归学习
11-15 周三 softmax 回归学习 时间版本修改人描述2023年11月15日11:17:27V0.1宋全恒新建文档 简介 softmax分享可以参考什么是softmax 回归估计一个连续值,分类预测一个离散类别。 恶意软件的判断 回归和分类 分类可以认为从回归的单输出变成多输出 B站学习 softm…...
React新手必懂的知识点
react思想:组件化开发 React 的核心概念是组件化开发,将用户界面拆分成独立的可复用组件。学习如何创建和使用 React 组件,以及组件之间的数据传递和通信是非常重要的。 React的思想就是拆分组件与使用组件。 import React from react;// 定…...
es为什么这么快
es为什么这么快的方式 es的基于Lucene开源搜索引擎,负责文件存储和搜索,支持http请求,以json形式展示 这样介绍你有可能有点迷糊我们详细解释 es 使用的倒排索引的方式,进行数据存储方式,给每一个字段创建索引&…...
Pandas分组聚合_Python数据分析与可视化
Pandas分组聚合 分组单列和多列分组Series 系列分组通过数据类型或者字典分组获取单个分组对分组进行迭代 聚合应用单个聚合函数应用多个聚合函数自定义函数传入 agg() 中对不同的列使用不同的聚合函数 分组聚合的流程主要有三步: 分割步骤将 DataFrame 按照指定的…...
VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)
一、安装 VMware 附官方下载链接(VM 17 pro):https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe 打开下载好的VMware Workstation 17 Pro安装包; 点击下一步; 勾选我…...
基于SDN技术构建多平面业务承载网络
随着企业数字化的浪潮席卷各个行业,传统网络架构面临着更为复杂和多样化的挑战。企业正在寻找一种全面适应数字化需求的网络解决方案。随着软件定义网络(SDN)的发展,“多业务SDN一张网”解决方案为企业提供了一种全新的网络架构&a…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...



