• 【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES


    部署KES数据库到KES数据库同步服务

    1.登录KFS管理平台

    账号密码
    adminadmin
    user_0017Kfs123#$

    在这里插入图片描述
    在这里插入图片描述

    2.开始配置数据节点信息

    • 【部署管理】>【节点管理】>【新建】> 【填入相关信息】 >【保存】
    • 安装目录:/home/flysync/replicator

    (1)配置node1数据节点

    在这里插入图片描述

    点击保存

    (2)配置node2数据节点

    在这里插入图片描述
    点击保存

    在这里插入图片描述

    3.KFS拓扑图配置

    【部署管理】>【拓扑配置】
    在这里插入图片描述

    4.开始部署

    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    5.启动同步程序并查验是否运行正常

    【部署管理】> 【节点管理】>【启动】。
    在这里插入图片描述
    在这里插入图片描述

    查看服务状态

    【部署管理】> 【服务管理】

    在这里插入图片描述

    测试同步

    1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下

    [root@node1 ~]# su - kingbase
    上一次登录:五 1117 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]$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.将node1传过来的数据导入到node2数据库中

    [root@node2 ~]# su - kingbase
    上一次登录:五 1117 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 
    Begin
            UPDATE exam0017.score t SET t.certificate=0 WHERE t.score<70;
    END
    
               索引 "exam0017.score_pk"
       栏位    |     类型     | 键值? |   定义    
    -----------+--------------+-------+-----------
     cno       | numeric(2,0) || cno
     sno       | numeric(4,0) || sno
     ino       | numeric(3,0) || ino
     exam_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       | course
     r       | instructor_history
     r       | student
     S       | seq_student_sno
     v       | v_score_information
     i       | cno_pk
     i       | id_no_uk
     i       | ino_pk
     i       | phone_uk
     i       | score_pk
     i       | sno_cno_pk
     r       | score
     r       | instructor
    (13 行记录)
    test=# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 现在已将表结构和数据都存到了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]$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    数据校验

    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]$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.校验配置

    【数据校验】>【校验配置】>【数据校验及数据修复配置】

    在这里插入图片描述

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

    3.新建校验任务

    【数据校验】 >【任务配置】 >【新建】。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    源配置:

    选择exam模式下的所有表

    在这里插入图片描述

    目标配置:

    选择exam0017模式下的所有表

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    4.新建调度任务

    【调度管理】> 【新建调度】

    在这里插入图片描述
    在这里插入图片描述

    5.执行校验

    执行第一次校验

    在这里插入图片描述
    在这里插入图片描述
    点击查看详情查看校验结果
    在这里插入图片描述

    数据自动修复

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

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述

    3.查询修复结果

    在这里插入图片描述
    在这里插入图片描述

    配置告警邮件

    1.告警邮箱配置

    在这里插入图片描述
    在这里插入图片描述

    2.配置告警管理

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    点击测试
    在这里插入图片描述
    收到邮件点击保存

    3.错误问题

    (1).邮件发送提示失败

    1. 检查你的虚拟机是否网络畅通
    2. 检查你的邮箱smtp是否开通,授权码填写在密码栏

    (2).配置告警提示失败

    检查你新增加的用户邮箱是否和告警配置的一致
    在这里插入图片描述

    4.邮件告警展示

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    机器学习之支持向量机
    国芯方案——电子吊钩秤方案
    大数据编程技术基础实验八:Flume实验——文件数据Flume至HDFS
    数据结构第二章
    LRU算法
    arm linux使用 usbmon 抓取usb总线数据包
    在Java中操作Redis_Spring Data Redis使用方式——环境搭建
    waitqueue实现阻塞数据访问 - Linux等待队列
    flutter 常用组件:文本、图片和按钮
    设计模式:原型模式
  • 原文地址:https://blog.csdn.net/sinat_36528886/article/details/134466947