• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

KingbaseFlySync replicator安装KES-KES

武飞扬头像
沉舟侧畔千帆过_
帮助1

目录

源端

一、安装前置配置

二、安装

目标端

一、安装前置配置

二、安装


源端

一、安装前置配置

1、创建安装用户

  1.  
    groupadd flysync
  2.  
    useradd flysync -g flysync -G kingbase
  3.  
    passwd flysync

2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压

tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz

3、配置将hosts文件,将源端和目标端服务器都加上去

  1.  
    vi /etc/hosts
  2.  
    192.168.100.114  kes8
  3.  
    192.168.100.124  kes8-2

4、配置/etc/security/limits.conf文件【可选】

  1.  
    vi /etc/security/limits.conf
  2.  
     
  3.  
    flysync - nofile 65535
  4.  
     
  5.  
    flysync - nproc  8096
  6.  
     
  7.  
    kingbase   - nofile 65535
  8.  
     
  9.  
    kingbase   - nproc  8096

5、开启时间同步服务【可选】

  1.  
    yum install ntp -y
  2.  
    systemctl start ntpd
  3.  
    systemctl enable ntpd

6、在/etc/sysctl.conf配置swappiness参数【可选】

  1.  
    vi /etc/sysctl.conf
  2.  
     
  3.  
    vm.swappiness = 10
  4.  
     
  5.  
    sysctl -p

7、检查依赖软件jdk和ruby【必须】

  • jdk
java -version

版本小于1.8的,可以使用yum安装1.8版本

yum install java-1.8.0-openjdk.x86_64

也可以下载oracle的1.8版本的JDK包手动上传安装

  • ruby
ruby --version

如果没安装ruby

可以使用yum方式安装

yum install ruby

也可以使用KFS控制台服务器里自带的ruby包进行替换,位置在:/opt/KFS/console/media/rbenv,

将压缩包解压到/usr/local,然后配置/etc/profile文件里$PATH环境变量,将ruby的bin目录添加进去

  1.  
    vi /etc/profile
  2.  
     
  3.  
    export PATH=$PATH:/usr/local/ruby/bin
  4.  
     
  5.  
    source /etc/profile

二、安装

1、检查数据库decoderbufs插件是否安装

  1.  
    ----检查V8安装目录下的/lib目录,是否有decoderbufs.so和kfs_current_query.so包,若没有,将KingbaseFlySync安装包中附带的decoderbuf.so和kfs_current_query.so复制到Kingbase安装目录的/lib目录下。
  2.  
     
  3.  
    ----检查V8安装目录下的/share/extension目录,是否有decoderbufs.control文件,若没有,将KingbaseFlySync安装包中附带的decoderbuf.control复制到Kingbase安装目录的/share/extension目录下
  4.  
     
  5.  
    ls   /opt/Kingbase/ES/V8/Server/lib/decoderbufs.so
  6.  
     
  7.  
    ls   /opt/Kingbase/ES/V8/Server/lib/kfs_current_query.so
  8.  
     
  9.  
    ls   /opt/Kingbase/ES/V8/Server/share/extension/decoderbufs.control
  10.  
     
  11.  
    如果没有,解压KFS安装包中自带的压缩包,将这些文件复制到相应目录
  12.  
     
  13.  
    cd  /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/extensions/decoderbufs
  14.  
     
  15.  
    cp kfs_decoderbufs_lib_linux64_v8r3.zip  /home/kingbase
  16.  
     
  17.  
    cd /home/kingbase
  18.  
     
  19.  
    unzip kfs_decoderbufs_lib_linux64_v8r3.zip
  20.  
     
  21.  
    cp ./lib/decoderbufs.so /opt/Kingbase/ES/V8/Server/lib
  22.  
     
  23.  
    cp ./lib/kfs_current_query.so /opt/Kingbase/ES/V8/Server/lib
  24.  
     
  25.  
    cp ./share/extension/decoderbufs.control  /opt/Kingbase/ES/V8/Server/share/extension
  26.  
     
  27.  
    chown kingbase:kingbase /opt/Kingbase/ES/V8/Server/lib/decoderbufs.so
  28.  
     
  29.  
    chown kingbase:kingbase /opt/Kingbase/ES/V8/Server/lib/kfs_current_query.so
  30.  
     
  31.  
    chown kingbase:kingbase /opt/Kingbase/ES/V8/Server/share/extension/decoderbufs.control
学新通

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

  1.  
    vi /opt/Kingbase/data/sys_hba.conf
  2.  
     
  3.  
    host replication all 127.0.0.1/32    md5
  4.  
     
  5.  
    host replication all 0.0.0.0/0       md5

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

  1.  
    vi /opt/Kingbase/data/kingbase.conf
  2.  
     
  3.  
    max_wal_senders=4          #日志发送进程数,数据库个数*2,最小为4
  4.  
     
  5.  
    wal_keep_segments=4        #保留日志数量,根据磁盘空间设置,越大越好
  6.  
     
  7.  
    wal_level=logical          #日志级别,必须为logical      
  8.  
     
  9.  
    max_replication_slots=4    #复制槽数量,数据库个数*2,最小为4
  10.  
     
  11.  
    全部配置完成后,重启数据库使配置生效。
  12.  
     
  13.  
    sys_ctl -D /opt/Kingbase/data restart

4、在安装用户家目录配置flysync.ini

  1.  
    flysync.ini必须配置在安装用户的家目录下
  2.  
     
  3.  
    vi /home/flysync/flysync.ini
  4.  
     
  5.  
    [defaults]
  6.  
     
  7.  
    install-directory=/home/flysync/kfsrep
  8.  
     
  9.  
    profile-script=~/.bash_profile
  10.  
     
  11.  
    rmi-port=11000
  12.  
     
  13.  
    [kingbase8]
  14.  
     
  15.  
    role=master
  16.  
     
  17.  
    master=kes8
  18.  
     
  19.  
    members=kes8
  20.  
     
  21.  
    kufl-port=3112
  22.  
     
  23.  
    replication-host=192.168.100.114
  24.  
     
  25.  
    replication-port=54321
  26.  
     
  27.  
    replication-user=FLYSYNC
  28.  
     
  29.  
    replication-password=123456
  30.  
     
  31.  
    datasource-type=kingbase
  32.  
     
  33.  
    datasource-version=8
  34.  
     
  35.  
    kingbase-extractor-method=xlogical
  36.  
     
  37.  
    kingbase-dbname=TEST
  38.  
     
  39.  
    svc-extractor-filters=replicate
  40.  
     
  41.  
    property=replicator.filter.replicate.do=PUBLIC.*,flysync_kingbase8.*
  42.  
     
  43.  
    property=replicator.filter.replicate.ignore=PUBLIC.T1
  44.  
     
  45.  
    #大事务拆分参数,到达4000行开始拆分事务,默认为500
  46.  
     
  47.  
    property=replicator.extractor.dbms.minRowsPerBlock=4000
  48.  
     
  49.  
    #同步DDL语句所需,可以配置支持的DDL类型
  50.  
     
  51.  
    property=replicator.extractor.dbms.ddlListFile=/home/flysync/kfsrep/filters-config/ddl_support_list.csv
  52.  
     
  53.  
    #在开启同步DDL后生效,create table as类型语句,同时产生DDL和DML,是否保留DML,true为保留,false为不保留,默认为true
  54.  
     
  55.  
    property=replicator.extractor.dbms.keepMixDML=true
  56.  
     
  57.  
    PG模式需要添加以下参数:
  58.  
     
  59.  
    property=replicator.datasource.global.connectionSpec.databaseMode=pg
学新通

5、从KFS安装包目录下的extensions/jdbc拷贝jdbc包

V8R3(不含)之上的版本,使用kingbase8-8.6.0.jar

V8R3(含)以下版本,使用kingbase8-8.2.0.jar

  1.  
    cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/extensions/jdbc
  2.  
     
  3.  
    cp kingbase8-8.6.0.jar /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/flysync-replicator/lib

6、安装

  1.  
    cd   /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools
  2.  
     
  3.  
    ./fspm install

7、复制license文件到安装目录

cp license.dat kfsrep/

8、应用环境变量,启动replicator

  1.  
    source ~/.bash_profile
  2.  
     
  3.  
    replicator start

9、查看服务状态

  1.  
    fsrepctl -service kingbase8 status
  2.  
     
  3.  
    fsrepctl services

10、搬迁

--结构搬迁

ddlscan -target.service kes8_mysql8 -source.user FLYSYNC -source.pass 123456  -source.db TEST -source.dbtype kingbase8 -source.host kes8 -source.port 54321 -source.schema PUBLIC -target.db TEST1 -mgType 0

--数据搬迁

loader -source.user flysync -source.pass 123456 -source.db test  -source.dbtype kingbase8 -source.host 192.168.100.114 -source.port 54321 -source.schema public -target.service kes8_mysql8 -mgType 0 -clean

目标端

一、安装前置配置

1、创建安装用户

  1.  
    groupadd flysync
  2.  
     
  3.  
    useradd flysync -g flysync -G kingbase
  4.  
     
  5.  
    passwd flysync

2、上传安装文件包和license文件到服务器/home/flysync目录下,并解压

tar -xzvf KingbaseFlySync-V001R005C002B20210524-replicator.tar.gz

3、配置将hosts文件,将源端和目标端服务器都加上去

  1.  
    vi /etc/hosts
  2.  
     
  3.  
    192.168.100.114  kes8
  4.  
     
  5.  
    192.168.100.124  kes8-2

4、配置/etc/security/limits.conf文件【可选】

  1.  
    vi /etc/security/limits.conf
  2.  
     
  3.  
    flysync - nofile 65535
  4.  
     
  5.  
    flysync - nproc  8096
  6.  
     
  7.  
    kingbase   - nofile 65535
  8.  
     
  9.  
    kingbase   - nproc  8096

5、开启时间同步服务【可选】

  1.  
    yum install ntp -y
  2.  
     
  3.  
    systemctl start ntpd
  4.  
     
  5.  
    systemctl enable ntpd

6、在/etc/sysctl.conf配置swappiness参数【可选】

  1.  
    vi /etc/sysctl.conf
  2.  
     
  3.  
    vm.swappiness = 10
  4.  
     
  5.  
    sysctl -p

7、检查依赖软件jdk和ruby【必须】

--jdk

java -version

版本小于1.8的,可以使用yum安装1.8版本

yum install java-1.8.0-openjdk.x86_64

也可以下载oracle的1.8版本的JDK包手动上传安装

--ruby

ruby --version

如果没安装ruby

可以使用yum方式安装

yum install ruby

也可以使用KFS控制台服务器里自带的ruby包进行替换,位置在:/opt/KFS/console/media/rbenv,

将压缩包解压到/usr/local,然后配置/etc/profile文件里$PATH环境变量,将ruby的bin目录添加进去

  1.  
    vi /etc/profile
  2.  
     
  3.  
    export PATH=$PATH:/usr/local/ruby/bin
  4.  
     
  5.  
    source /etc/profile

二、安装

1、创建数据库用户

ksql> CREATE USER FLYSYNC SUPERUSER PASSWORD '123456';

当数据库为 pg 兼容模式时,应在 kingbase.conf 文件中修改如下配置

名称

含义

ora_input_emptystr_isnull=off

关闭空字符串显示为 null(pg 兼容模式需配置)

2、在安装用户家目录配置flysync.ini

flysync.ini必须配置在安装用户的家目录下

  1.  
    vi /home/flysync/flysync.ini
  2.  
     
  3.  
    [defaults]
  4.  
     
  5.  
    # 安装目录
  6.  
     
  7.  
    install-directory=~/kfsrep
  8.  
     
  9.  
    # 环境变量脚本位置
  10.  
     
  11.  
    profile-script=~/.bash_profile
  12.  
     
  13.  
    # rmi端口,默认11000
  14.  
     
  15.  
    rmi-port=11000
  16.  
     
  17.  
    # 服务名
  18.  
     
  19.  
    [kes82]
  20.  
     
  21.  
    # 监听kufl获取的端口
  22.  
     
  23.  
    kufl-port=3112
  24.  
     
  25.  
    # master主机名
  26.  
     
  27.  
    master=kes8
  28.  
     
  29.  
    # 当前主机名
  30.  
     
  31.  
    members=kes8-2
  32.  
     
  33.  
    ##指定连接master监听的kufl端口
  34.  
     
  35.  
    master-kufl-port=3112
  36.  
     
  37.  
    # 数据源类型
  38.  
     
  39.  
    datasource-type=kingbase
  40.  
     
  41.  
    # 同步数据库信息
  42.  
     
  43.  
    replication-host=192.168.100.124
  44.  
     
  45.  
    replication-user=flysync
  46.  
     
  47.  
    replication-password=123456
  48.  
     
  49.  
    replication-port=54321
  50.  
     
  51.  
    # 同步服务角色
  52.  
     
  53.  
    role=slave
  54.  
     
  55.  
    ## 指定连接的数据库名称
  56.  
     
  57.  
    kingbase-dbname=test
  58.  
     
  59.  
    ## kingbase 版本号
  60.  
     
  61.  
    datasource-version=8
  62.  
     
  63.  
    ## 过滤器开关配置
  64.  
     
  65.  
    svc-remote-filters=rename
  66.  
     
  67.  
    ## 集群参数
  68.  
     
  69.  
    # property=replicator.datasource.global.connectionSpec.use_cluster=true
  70.  
     
  71.  
    # property=replicator.datasource.global.connectionSpec.slave_add=192.168.28.176,192.168.28.176
  72.  
     
  73.  
    # property=replicator.datasource.global.connectionSpec.slave_port=1521,1521
  74.  
     
  75.  
    ### 过滤器详细配置
  76.  
     
  77.  
    ## replicate 表过滤
  78.  
     
  79.  
    # property=replicator.filter.replicate.do=PUBLIC.*
  80.  
     
  81.  
    # property=replicator.filter.replicate.ignore=PUBLIC.T1
  82.  
     
  83.  
    ## casetransform 大小写转换
  84.  
     
  85.  
    # property=replicator.filter.casetransform.to_upper_case=true
  86.  
     
  87.  
    ## 优化参数
  88.  
     
  89.  
    # 开启小事务合并入库
  90.  
     
  91.  
    property=replicator.applier.dbms.optimizeRowEvents=true
  92.  
     
  93.  
    # 指定单表一次入库的数据量
  94.  
     
  95.  
    property=replicator.applier.dbms.maxRowBatchSize=5000
  96.  
     
  97.  
    # 自动恢复尝试次数,系统 OFFLINE 时,尝试将系统重新置于ONLINE状态的次数
  98.  
     
  99.  
    repl_auto_recovery_max_attempts=100
  100.  
     
  101.  
    # 系统 OFFLINE 时,尝试 ONLINE 之前的等待时间,s(秒)、m(分钟)、h(小时)
  102.  
     
  103.  
    repl_auto_recovery_delay_interval=30s
  104.  
     
  105.  
    # 系统自动恢复次数重置时间,s(秒)、m(分钟)、h(小时)
  106.  
     
  107.  
    repl_auto_recovery_reset_interval=300s
学新通

想要提升入库性能,可以配置optimizeRowEvents和maxRowBatchSize参数,小事务场景下, maxRowBatchSize 表示单表一次入库的数据量。

5000 表示每次入库 5000 条数据。

  1.  
    property=replicator.applier.dbms.optimizeRowEvents=true
  2.  
     
  3.  
    property=replicator.applier.dbms.maxRowBatchSize=5000

3、从KFS安装包目录下的extensions/jdbc拷贝jdbc包

V8R3(不含)之上的版本,使用kingbase8-8.6.0.jar

V8R3(含)以下版本,使用kingbase8-8.2.0.jar

  1.  
    cd /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/extensions/jdbc
  2.  
     
  3.  
    cp kingbase8-8.6.0.jar /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/flysync-replicator/lib

4、安装

  1.  
    cd   /home/flysync/KingbaseFlySync-V001R005C002B20210524-replicator/tools
  2.  
     
  3.  
    ./fspm install

5、复制license文件到安装目录

cp license.dat kfsrep/

6、配置rename【可选】

如果源端和目标端服务名不一样,或者数据库的模式名、表名、列名不一样,需要配置rename过滤器

----检查flysync.ini里有没有配置rename过滤器

svc-remote-filters=rename

没有的话进行添加,并使用命令fspm update更新配置

----修改rename.csv

  1.  
    cd  /home/flysync/kfsrep/filters-config
  2.  
     
  3.  
    vi rename.csv

添加以下内容:

flysync_kes81,*,*,flysync_kes82,-,-

保存后启动或重启replicator

replicator restart

7、启动replicator

  1.  
    source ~/.bash_profile
  2.  
     
  3.  
    replicator start

8、查看服务状态

  1.  
    fsrepctl services
  2.  
     
  3.  
    fsrepctl -service kes82 status

备注:重置KUFL日志

  1.  
    fsrepctl -service kes81 offline
  2.  
     
  3.  
    fsrepctl -service kes82 offline
  4.  
     
  5.  
    fsrepctl -service kes81 reset -all -y
  6.  
     
  7.  
    fsrepctl -service kes82 reset -all -y
  8.  
     
  9.  
    replicator restart

这篇文章转载于:学新通

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通
  • 本文地址: https://www.swvq.com/boutique/detail/tanhehbfif
  • 联系方式: luke.wu●vfv.cc
系列文章
更多 icon
同类精品
更多 icon
我要评论
我的头像
精彩评论
继续加载