同步软件安装部署与用户创建
- 概述
- 准备环境
- 目标
- 资源
- 1.测试虚拟机下载地址包含node1,node2
- 2.KFS管控平台工具下载地址
- 3.临时授权下载地址
- 实操:同步软件安装部署
- 1.node1准备安装环境
- (1)增加flysync 用户并设置密码
- (2)调整flysync的最大文件句柄数(open files)、允许创建的最大进程数量(max user processes)
- (3)hosts 文件配置
- (4)network配置
- (5)上传并安装ruby工具
- (6)node1数据库配置
- (7)重启数据库使配置生效
- (8)导入测试数据
- (9)最后检查下环境
- 2.node2准备安装环境
- (1)增加flysync 用户并设置密码
- (2)调整flysync的最大文件句柄数(open files)、允许创建的最大进程数量(max user processes)
- (3)hosts 文件配置
- (4)network配置
- (5)拷贝并安装ruby工具
- (6)node2数据库添加用户并授权
- (7)最后检查下环境
- 3.node2部署KFS 管控平台(KFSMC)
- (1).上传安装包及授权文件
- (2).解压安装包
- (3).创建安装目录并授权
- (4).启动安装程序
- a.命令行下安装
- b.界面化安装
- c.如果为正常卸载数据库
- (5).启动管控平台
- (6).验证平台是否正常运行
- 4.创建管控平台专用用户
- (1).创建角色并配置权限
- (2).创建用户
概述
- Kingbase FlySync是面向同城/异地灾备、数据库平滑升级替换、数据集中共享与分发、应用上云迁移、数据库负载均衡等场景的数据同步产品。该产品基于增量日志解析技术,性能高、时延低、资源占用极少,能够实现异构数据源之间大规模增量数据的任意方向流转和实时同步,帮助用户打破数据孤岛,轻松共享分发数据。Kingbase FlySync支持丰富的软硬件平台和数据源,同步拓扑可以一对一、一对多、多对一、级联等方式任意组合延伸,并可在数据同步过程中保证端到端的事务级数据完整性和高可用性。
准备环境
- 两台虚拟机
虚拟机 | IP | 数据库软件版本 | 角色 | 操作系统 |
---|---|---|---|---|
K2node1 | 192.168.40.111 | (Kingbase) KingbaseES V8R6 | 主库 | CenterOS7.2 |
K2node2 | 192.168.40.112 | (Kingbase) KingbaseES V8R6 | 备库 | CenterOS7.2 |
- 数据库安装要求
项目 | node1 | node2 |
---|---|---|
数据库版本 | KingbaseES V8R6 | KingbaseES V8R6 |
安装路径 | /KingbaseES/V8/ | /KingbaseES/V8/ |
data路径 | /data | /data |
端口 | 54321 | 54321 |
用户名 | system | system |
密码 | kingbase | kingbase |
目标
- 同步程序安装部署
- 使用命令方式,完成数据迁移,并保证数据一致。
- 按照以下规范完成部署
类别 | 源端 | 目标端 |
---|---|---|
replicater安装路径 | /home/flysync/replicator | /home/flysync/replicator |
replicator端口 | rmi-port:11000/kufl-port:3112 | rmi-port:11000/kufl-port:3112 |
kfs服务名 | kingbase8_source | kingbase8_target |
KFS 同步所使用的用户 | flysync/flysync | flysync/flysync |
管控平台地址 | http://192.168.40.112:8089 | |
http://127.0.0.1:8089 | ||
kfs命令相关的路径 | /home/flysync/replicator/flysync/flysync-replicator/bin | /home/flysync/replicator/flysync/flysync-replicator/bin |
/opt/KFS/manager/bin/ | ||
/opt/KFS/compare/bin/ | ||
/opt/KFS/console/bin/ | ||
映射规则1 | exam | exam[0017] |
映射规则2 | exam.course | exam0017.course0017 |
5.创建新管控平台角色和用户格式如下:
类别 | 格式 |
---|---|
角色 | role_0017 |
用户 | user_017 |
资源
1.测试虚拟机下载地址包含node1,node2
- 虚拟机快照都还原至:优化数据库
- root用户密码为kingbase.123
- kingbase用户密码为kingbase
点击下载:百度网盘
2.KFS管控平台工具下载地址
点击下载:百度网盘
3.临时授权下载地址
点击下载:百度网盘
实操:同步软件安装部署
1.node1准备安装环境
(1)增加flysync 用户并设置密码
[root@node1 ~]# adduser flysync
[root@node1 ~]# usermod -G kingbase flysync
[root@node1 ~]# echo flysync | passwd --stdin flysync
更改用户 flysync 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]#
(2)调整flysync的最大文件句柄数(open files)、允许创建的最大进程数量(max user processes)
[root@node1 ~]# cat >> /etc/security/limits.conf << EOF
flysync - nofile 65535
flysync - nproc 8096
EOF
[root@node1 ~]# cat /etc/security/limits.conf
# /etc/security/limits.conf
#
#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.
#
#Also note that configuration files in /etc/security/limits.d directory,
#which are read in alphabetical order, override the settings in this
#file in case the domain is the same or more specific.
#That means for example that setting a limit for wildcard domain here
#can be overriden with a wildcard setting in a config file in the
#subdirectory, but a user specific setting here can be overriden only
#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
# - a user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#
#<type> can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open file descriptors
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit (KB)
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to values: [-20, 19]
# - rtprio - max realtime priority
#
#<domain> <type> <item> <value>
##* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4#add by kingbase
kingbase soft nproc 65536
kingbase hard nproc 65536
kingbase soft nofile 65536
kingbase hard nofile 65536
#kingbase soft stack 10240
#kingbase hard stack 32768
kingbase soft core unlimited
kingbase hard core unlimitedflysync - nofile 65535
flysync - nproc 8096
[root@node1 ~]#
(3)hosts 文件配置
[root@node1 ~]# cat >> /etc/hosts << EOF
192.168.40.111 node1
192.168.40.112 node2
EOF
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.40.111 node1
192.168.40.112 node2
[root@node1 ~]#
(4)network配置
[root@node1 ~]# cat >> /etc/sysconfig/network << EOF
> NETWORKING = yes
> EOF
[root@node1 ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING = yes
HOSTNAME = node1
[root@node1 ~]#
(5)上传并安装ruby工具
- 使用FTP工具上传rbenv_2.2.2_linux_x64.zip到/home/flysync目录下
[root@node1 flysync]# ls -l
总用量 6832
-rw-r--r-- 1 root root 6993781 11月 16 10:28 rbenv_2.2.2_linux_x64.zip
[root@node1 flysync]# pwd
/home/flysync
[root@node1 flysync]# [root@node1 flysync]# chown flysync:flysync /home/flysync/rbenv_2.2.2_linux_x64.zip
[root@node1 flysync]#
- 解压rbenv_2.2.2_linux_x64.zip包
[root@node1 flysync]su flysync
[flysync@node1 flysync]# unzip -q /home/flysync/rbenv_2.2.2_linux_x64.zip
[flysync@node1 flysync]# ls -l
总用量 6836
-rwxr-xr-x 1 root root 340 11月 4 2019 fspm
drwxrwxr-x 3 flysync flysync 17 11月 4 2019 rbenv
-rw-r--r-- 1 flysync flysync 6993781 11月 16 10:28 rbenv_2.2.2_linux_x64.zip
[root@node1 flysync]#
- 把ruby添加到环境变量
[flysync@node1 flysync]# vi ~/.bash_profile
[flysync@node1 flysync]# source ~/.bash_profile
[flysync@node1 flysync]# cat ~/.bash_profile
[flysync@node1 ~]$ cat ~/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/bin
export RUBY_HOME=/home/flysync/rbenv/ruby
export PATH=$RUBY_HOME/bin:$PATH
export PATH[flysync@node1 flysync]# ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
[flysync@node1 flysync]#
(6)node1数据库配置
- 登录数据库
[kingbase@node1 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node1 bin]$ ./ksql -Usystem test
ksql (V8.0)
输入 "help" 来获取帮助信息.
test=#
- 添加flysync用户并授权
test=# CREATE USER flysync PASSWORD 'flysync';
CREATE ROLE
test=# ALTER USER flysync REPLICATION;
ALTER ROLE
test=# GRANT ALL PRIVILEGES ON DATABASE TEST TO flysync ;
GRANT
test=# ALTER USER flysync SUPERUSER;
ALTER ROLE
test=#
- 配置服务器参数
test=# ALTER SYSTEM SET wal_level ='logical';
ALTER SYSTEM
test=# ALTER SYSTEM SET wal_keep_segments = 4;
ALTER SYSTEM
test=# ALTER SYSTEM SET max_wal_senders =10;
ALTER SYSTEM
test=# ALTER SYSTEM SET max_replication_slots =10;
ALTER SYSTEM
test=#
- 退出数据库并修改数据库认证文件
test=# \q
[kingbase@node1 bin]$ cat >> /data/sys_hba.conf << EOF
host replication all 0.0.0.0/0 scram-sha-256
EOF
[kingbase@node1 bin]$ cat /data/sys_hba.conf
# Kingbase Client Authentication Configuration File
# ===================================================
#
# Refer to the "Client Authentication" section in the Kingbase
# documentation for a complete description of this file. A short
# synopsis follows.
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which Kingbase user names they can use, which
# databases they can access. Records take one of these forms:
#
# local DATABASE USER METHOD [OPTIONS]
# host DATABASE USER ADDRESS METHOD [OPTIONS]
# hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
#
# (The uppercase items must be replaced by actual values.)
#
# The first field is the connection type: "local" is a Unix-domain
# socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
# plain TCP/IP socket.
#
# DATABASE can be "all", "sameuser", "samerole", "replication", a
# database name, or a comma-separated list thereof. The "all"
# keyword does not match "replication". Access to replication
# must be enabled in a separate record (see example below).
#
# USER can be "all", a user name, a group name prefixed with "+", or a
# comma-separated list thereof. In both the DATABASE and USER fields
# you can also write a file name prefixed with "@" to include names
# from a separate file.
#
# ADDRESS specifies the set of hosts the record matches. It can be a
# host name, or it is made up of an IP address and a CIDR mask that is
# an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
# specifies the number of significant bits in the mask. A host name
# that starts with a dot (.) matches a suffix of the actual host name.
# Alternatively, you can write an IP address and netmask in separate
# columns to specify the set of hosts. Instead of a CIDR-address, you
# can write "samehost" to match any of the server's own IP addresses,
# or "samenet" to match any address in any subnet that the server is
# directly connected to.
#
# METHOD can be "trust", "reject", "md5", "password", "scram-sha-256",
# "gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert".
# Note that "password" sends passwords in clear text; "md5" or
# "scram-sha-256" are preferred since they send encrypted passwords.
#
# OPTIONS are a set of options for the authentication in the format
# NAME=VALUE. The available options depend on the different
# authentication methods -- refer to the "Client Authentication"
# section in the documentation for a list of which options are
# available for which authentication methods.
#
# Database and user names containing spaces, commas, quotes and other
# special characters must be quoted. Quoting one of the keywords
# "all", "sameuser", "samerole" or "replication" makes the name lose
# its special character, and just match a database or username with
# that name.
#
# This file is read on server startup and when the server receives a
# SIGHUP signal. If you edit the file on a running system, you have to
# SIGHUP the server for the changes to take effect, run "sys_ctl reload",
# or execute "SELECT pg_reload_conf()".
#
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make Kingbase
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.# CAUTION: Configuring the system for local "trust" authentication
# allows any local user to connect as any Kingbase user, including
# the database superuser. If you do not trust all your local users,
# use another authentication method.# TYPE DATABASE USER ADDRESS METHOD# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 0.0.0.0/0 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
host all all ::0/0 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
host replication all 0.0.0.0/32 scram-sha-256
host replication all 0.0.0.0/0 scram-sha-256
[kingbase@node1 bin]$
(7)重启数据库使配置生效
[kingbase@node1 bin]$ sys_ctl restart -D /data
waiting for server to shut down.... done
server stopped
waiting for server to start....2023-11-16 03:43:14.182 GMT [5233] 警告: max_connections should be less than or equal than 10 (restricted by license)
2023-11-16 03:43:14.182 GMT [5233] 提示: the value of max_connect is set 10
2023-11-16 03:43:14.183 GMT [5233] 警告: max_connections should be less than or equal than 10 (restricted by license)
2023-11-16 03:43:14.183 GMT [5233] 提示: the value of max_connect is set 10
2023-11-16 11:43:14.189 CST [5233] 日志: sepapower extension initialized
2023-11-16 11:43:14.191 CST [5233] 日志: 太多后台工作进程
2023-11-16 11:43:14.191 CST [5233] 详细信息: 当前设置里最多可以注册2个后台工作进程.
2023-11-16 11:43:14.191 CST [5233] 提示: 考虑增大配置参数 "max_worker_processes"的值.
2023-11-16 11:43:14.191 CST [5233] 日志: 太多后台工作进程
2023-11-16 11:43:14.191 CST [5233] 详细信息: 当前设置里最多可以注册2个后台工作进程.
2023-11-16 11:43:14.191 CST [5233] 提示: 考虑增大配置参数 "max_worker_processes"的值.
2023-11-16 11:43:14.192 CST [5233] 日志: 正在启动 KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
2023-11-16 11:43:14.192 CST [5233] 日志: 正在监听IPv4地址"0.0.0.0",端口 54321
2023-11-16 11:43:14.192 CST [5233] 日志: 正在监听IPv6地址"::",端口 54321
2023-11-16 11:43:14.193 CST [5233] 日志: 在Unix套接字 "/tmp/.s.KINGBASE.54321"上侦听
2023-11-16 11:43:14.244 CST [5233] 日志: 日志输出重定向到日志收集进程
2023-11-16 11:43:14.244 CST [5233] 提示: 后续的日志输出将出现在目录 "sys_log"中.done
server started
[kingbase@node1 bin]$
(8)导入测试数据
[kingbase@node1 install]$ ksql -U flysync -d test -f /install/EXAM_v0.11.sql
ksql:/install/EXAM_v0.11.sql:8: 注意: 串联删除10个其它对象
描述: 递归删除 序列 exam.seq_student_sno
递归删除 表 exam.student
递归删除 表 exam.course
递归删除 表 exam.instructor
递归删除 表 exam.instructor_history
递归删除 表 exam.score
递归删除 视图 exam.v_score_information
递归删除 function exam.get_avg_score(numeric)
递归删除 procedure exam.retire_instructor(numeric)
递归删除 表 exam.tmpbak01
DROP SCHEMA
CREATE SCHEMA
SET
CREATE SEQUENCE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
CREATE VIEW
CREATE FUNCTION
CREATE PROCEDURE
CREATE TRIGGER
ksql:/install/EXAM_v0.11.sql:202: 警告: 没有事物在运行中
COMMIT
[kingbase@node1 install]$
(9)最后检查下环境
- 检查机器名
[kingbase@node1 install]$ exit
登出
[root@node2 flysync]# uname -n
node2
- 检查操作系统属性检查及配置
[root@node1 ~]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 11210
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 8096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
- 检查IP 地址
[root@node1 flysync]# hostname --ip-address
192.168.40.111 192.168.40.111
[root@node1 flysync]#
- 检查其他机器的 IP 地址是否正确
[root@node1 ~]$ ping -c 4 node1
PING node1 (192.168.40.111) 56(84) bytes of data.
64 bytes from node1 (192.168.40.111): icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from node1 (192.168.40.111): icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from node1 (192.168.40.111): icmp_seq=3 ttl=64 time=0.036 ms
64 bytes from node1 (192.168.40.111): icmp_seq=4 ttl=64 time=0.037 ms--- node1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.036/0.054/0.110/0.033 ms
[flysync@node1 ~]$ ping -c 4 node2
PING node2 (192.168.40.112) 56(84) bytes of data.
64 bytes from node2 (192.168.40.112): icmp_seq=1 ttl=64 time=1.65 ms
64 bytes from node2 (192.168.40.112): icmp_seq=2 ttl=64 time=1.43 ms
64 bytes from node2 (192.168.40.112): icmp_seq=3 ttl=64 time=0.262 ms
64 bytes from node2 (192.168.40.112): icmp_seq=4 ttl=64 time=0.301 ms--- node2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.262/0.913/1.656/0.637 ms
- 检查时区
[root@node1 ~]$ date
2023年 11月 16日 星期四 11:48:34 CST
2.node2准备安装环境
(1)增加flysync 用户并设置密码
[root@node2 ~]# userdel -r flysync
[root@node2 ~]# adduser flysync
[root@node2 ~]# usermod -G kingbase flysync
[root@node2 ~]# echo flysync |passwd --stdin flysync
更改用户 flysync 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node2 ~]#
(2)调整flysync的最大文件句柄数(open files)、允许创建的最大进程数量(max user processes)
[root@node2 ~]# cat >> /etc/security/limits.conf << EOF
flysync - nofile 65535
flysync - nproc 8096
EOF
[root@node2 ~]# cat /etc/security/limits.conf
# /etc/security/limits.conf
#
#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.
#
#Also note that configuration files in /etc/security/limits.d directory,
#which are read in alphabetical order, override the settings in this
#file in case the domain is the same or more specific.
#That means for example that setting a limit for wildcard domain here
#can be overriden with a wildcard setting in a config file in the
#subdirectory, but a user specific setting here can be overriden only
#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
# - a user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#
#<type> can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open file descriptors
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit (KB)
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to values: [-20, 19]
# - rtprio - max realtime priority
#
#<domain> <type> <item> <value>
##* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4# End of file
#add by kingbase
kingbase soft nproc 65536
kingbase hard nproc 65536
kingbase soft nofile 65536
kingbase hard nofile 65536
kingbase soft stack 10240
kingbase hard stack 32768
kingbase soft core unlimited
kingbase hard core unlimited
flysync - nofile 65535
flysync - nproc 8096
[root@node2 ~]#
(3)hosts 文件配置
[root@node2 ~]# cat >> /etc/hosts << EOF
192.168.40.111 node1
192.168.40.112 node2
EOF
[root@node2 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.40.111 node1
192.168.40.112 node2
[root@node2 ~]#
(4)network配置
[root@node1 ~]# cat >> /etc/sysconfig/network << EOF
NETWORKING = yes
EOF
[root@node2 ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING = yes
HOSTNAME = node2
[root@node2 ~]#
(5)拷贝并安装ruby工具
```bash
[flysync@node2 ~]# scp root@node1:/home/flysync/rbenv_2.2.2_linux_x64.zip /home/flysync/
The authenticity of host 'node1 (192.168.40.111)' can't be established.
ECDSA key fingerprint is b8:54:e0:74:c5:e2:33:46:0d:7d:39:91:e3:b5:5a:6d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node1,192.168.40.111' (ECDSA) to the list of known hosts.
root@node1's password:
rbenv_2.2.2_linux_x64.zip 100% 6830KB 6.7MB/s 00:00
[flysync@node2 ~]# cd /home/flysync/
[flysync@node2 flysync]# ls rbenv_2.2.2_linux_x64.zip
rbenv_2.2.2_linux_x64.zip
[flysync@node2 flysync]#
- 解压rbenv_2.2.2_linux_x64.zip包
[root@node2 flysync]su flysync
[flysync@node2 flysync]# unzip -q /home/flysync/rbenv_2.2.2_linux_x64.zip
[flysync@node2 flysync]# ls -l
总用量 6836
-rwxr-xr-x 1 root root 340 11月 4 2019 fspm
drwxrwxr-x 3 flysync flysync 17 11月 4 2019 rbenv
-rw-r--r-- 1 flysync flysync 6993781 11月 16 10:28 rbenv_2.2.2_linux_x64.zip
[root@node1 flysync]#
- 把ruby添加到环境变量
[flysync@node2 ~]$ vi ~/.bash_profile
[flysync@node2 ~]$ source ~/.bash_profile
[flysync@node2 ~]$ cat ~/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programs
export RUBY_HOME=/home/flysync/rbenv/ruby
export PATH=$RUBY_HOME/bin:$PATH
PATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH
[flysync@node2 flysync]# ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
[flysync@node2 flysync]#
(6)node2数据库添加用户并授权
- 登录数据库
[flysync@node2 ~]$ exit
exit
[root@node2 flysync]# su kingbase
[kingbase@node2 flysync]$
[kingbase@node2 flysync]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node2 bin]$ ./ksql -Usystem test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=#
- 添加flysync用户并授权
test=# CREATE USER flysync PASSWORD 'flysync';
CREATE ROLE
ttest=# GRANT ALL PRIVILEGES ON DATABASE TEST TO flysync ;
GRANT
test=# ALTER USER flysync SUPERUSER;
ALTER ROLE
test=# DROP DATABASE IF EXISTS console;
注意: 数据库 "console" 不存在,跳过
DROP DATABASE
test=# DROP DATABASE IF EXISTS compare;
注意: 数据库 "compare" 不存在,跳过
DROP DATABASE
test=# CREATE DATABASE console;
CREATE DATABASE
test=# CREATE DATABASE compare;
CREATE DATABASE
test=# GRANT ALL PRIVILEGES ON DATABASE compare TO flysync ;
GRANT
test=# GRANT ALL PRIVILEGES ON DATABASE console TO flysync ;
GRANT
test=#
(7)最后检查下环境
- 检查机器名
[kingbase@node1 install]$ exit
登出
[root@node2 flysync]# uname -n
node2
- 检查操作系统属性检查及配置
[root@node2 flysync]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 9838
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 9838
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@node2 flysync]#
- 检查IP 地址
[root@node2 flysync]# hostname --ip-address
192.168.40.112
[root@node2 flysync]#
- 检查其他机器的 IP 地址是否正确
[root@node2 flysync]# ping -c 4 node1
PING node1 (192.168.40.111) 56(84) bytes of data.
64 bytes from node1 (192.168.40.111): icmp_seq=1 ttl=64 time=0.296 ms
64 bytes from node1 (192.168.40.111): icmp_seq=2 ttl=64 time=0.274 ms
64 bytes from node1 (192.168.40.111): icmp_seq=3 ttl=64 time=0.370 ms
64 bytes from node1 (192.168.40.111): icmp_seq=4 ttl=64 time=0.325 ms--- node1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.274/0.316/0.370/0.038 ms
[root@node2 flysync]# ping -c 4 node2
PING node2 (192.168.40.112) 56(84) bytes of data.
64 bytes from node2 (192.168.40.112): icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from node2 (192.168.40.112): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from node2 (192.168.40.112): icmp_seq=3 ttl=64 time=0.038 ms
64 bytes from node2 (192.168.40.112): icmp_seq=4 ttl=64 time=0.036 ms--- node2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.028/0.036/0.043/0.006 ms
[root@node2 flysync]#
- 检查时区
[root@node2 flysync]# date
2023年 11月 16日 星期四 13:19:32 CST
[root@node2 flysync]#
3.node2部署KFS 管控平台(KFSMC)
(1).上传安装包及授权文件
[root@node2 ~]# cd /install/
[root@node2 install]# ls -l
总用量 2011428
-rw-r--r-- 1 root root 872781824 4月 9 2023 KingbaseES_V008R006C005B0023_Lin64_single_install.iso
-rw-r--r-- 1 root root 1186909089 11月 17 10:40 KingbaseFlySync-V002R002C004B20230320-mc-Linux-x86_64.tar.gz
-rw-r--r-- 1 root root 3351 4月 9 2023 license_12350_0_dev.dat
-rw-r--r-- 1 root root 1396 11月 17 10:41 license.dat
drwxrwxr-x 2 kingbase kingbase 6 4月 9 2023 scripts
[root@node2 install]# su flysync
[flysync@node2 install]$
(2).解压安装包
[flysync@node2 install]$ tar -zxvf KingbaseFlySync-V002R002C004B20230320-mc-Linux-x86_64.tar.gz
setup.sh
setup/install.bin
setup/
setup/.manifest
setup/MD5
setup/installer.properties
[flysync@node2 install]$
(3).创建安装目录并授权
[flysync@node2 install]$ exit
exit
[root@node2 install]# mkdir /opt/KFS
[root@node2 install]# chown -R flysync:flysync /opt/KFS/
[root@node2 install]#
(4).启动安装程序
a.命令行下安装
[flysync@node2 install]$ ./setup.sh -i console
Now launch installer...
正在准备进行安装
正在从安装程序档案中提取 JRE...
正在解包 JRE...
正在从安装程序档案中提取安装资源...
配置该系统环境的安装程序...正在启动安装程序...===============================================================================
金仓数据同步管理平台 (使用 InstallAnywhere 创建)
-------------------------------------------------------------------------------正在准备控制台模式安装...===============================================================================
简介
--InstallAnywhere 将指导您完成 金仓数据同步管理平台 的安装。建议您在继续本次安装前,退出所有程序。
如果要回到前一步骤进行更改,可输入“back”。如果要取消本次安装,可随时输入“quit”。请按 <ENTER> 键继续: ===============================================================================
许可协议
----安装和使用 金仓数据同步管理平台 产品之前,
您须接受下列许可协议:北京人大金仓信息技术股份有限公司
“软件最终用户许可协议”重要须知,请认真阅读:本《最终用户许可协议》(以下
称《协议》)是您(个人或单一实体)与北京人大金仓信息
技术股份有限公司(以下简称“人大金仓”)之间有关上述
人大金仓软件产品的法律协议。
本“软件产品”包括计算机软件,并可能包括相关媒体、
印刷材料和联机文档(“软件产品”)。本“软件产品”还
包括对人大金仓提供给您的原“软件产品”的任何更新和补
充资料。任何与本“软件产品”一同提供给您的并与单独一
份软件许可证相关的软件产品是根据本《协议》中的条款而
授予您。您一旦安装、复制、下载、
访问或以其它方式使用“软件产品”,
即表示您同意接受本《协议》各项条款的约束。
如您不同意本《协议》中的条款,请不要安装、
复制或使用“软件产品”。软件产品许可证本“软件产品”受著作权法及国际著作权条约和其它知识
产权法和条约的保护。请按 <ENTER> 键继续: 本“软件产品”只许可使用,而不出售。1、许可证的授予。只要您遵守本《协议》,
人大金仓将授予您下列非独占性的不可转让的权利:应用软件。
本软件的使用应在相应合同上规定的地点上使用。使用应受
到购买的数量和许可种类(如合同中所约定)的使用限制所
制约。如果许可种类没有特殊说明,
则您只能在单一一台计算机、工作站、手持式计算机、
智能电话或其他数字电子仪器(“计算机”)上安装、使用、
访问、显示、运行或以其他方式互相作用于(“运行”)本
“软件产品”的一份副本保留权利。除本协议中具体的规定外,
未明示授予的一切其它权利均为人大金仓所有。
人大金仓保留对本协议内容的解释权。2、其它权利和限制的说明。限制转让。在任何情况下,
没有人大金仓的事先书面同意,
您不得转让本协议或本协议项下授予的任何使用许可。请按 <ENTER> 键继续: 非再销售性软件。
如果本“软件产品”标明“非再销售品”,
则无论本《协议》其它条款有如何说明,
您对本“软件产品”的使用只限于演示、测试或评价目的,
而您不得再销售或以其它方式有偿转让本“软件产品”。对反向工程、反向编译、反汇编的限制。
您不得对本“软件产品”进行反向工程、
反向编译或反汇编;尽管有此限制,
但如果适用法律明示允许上述活动,
并仅在适用法律明示允许的范围内从事上述活动,
则不在此限。商标。本《协议》不授予您任何有关人大金仓商标或服务
商标的权利。出租限制。不得出租、租赁或出借本“软件产品”。出口限制。您承认本“软件产品”受中国出口法律管辖。
您同意遵守所有适用于本“软件产品”的国际法和国内法,
包括《中华人民共和国对外贸易法》,请按 <ENTER> 键继续: 以及中国政府颁布的相关软件出口的限制和规定。支持服务。人大金仓为您提供与“软件产品”有关的支持
服务(“支持服务”),
但支持服务的具体内容受相关合同的制约,
人大金仓保留对支持服务进行收费的权利。
支持服务的使用受用户手册、联机文档和/或其它人大金仓提
供的材料中所述的各项政策和计划的制约。提供给您作为支
持服务的一部份的任何附加软件代码应被视为本“软件产品
”的一部分,并须符合本《协议》中的各项条款和条件。
至于您提供给人大金仓作为支持服务的一部分的技术信息,
人大金仓可将其用于商业用途,包括产品支持和开发。
除了在为您提供支持时必须的情况外,
人大金仓在使用这些技术信息时不会以个人形式提及您。协议终止。如您未遵守本《协议》的各项条款和条件,
在不损害其它权利的情况下,人大金仓可终止本《协议》。
如此类情况发生,
您必须销毁“软件产品”的所有副本及其所有组成部分。3、升级版本。如本“软件产品”标明为升级版本,您必须获
取由人大金仓标明为合格使用升级版本的产品的许可证方可请按 <ENTER> 键继续: 使用本“软件产品”。人大金仓公司保留在任何时候为您提
供本“软件产品”的升级版本或升级收取费用的权利。标明
为升级版本的“软件产品”替换和/或补充使您有资格使用升
级版本的基础的产品,
您只可根据本《协议》的条款使用所产生的升级产品。如本
“软件产品”是您获得许可作为单一产品使用的一套软件程
序包中一个组件的升级版本,则本“软件产品”只可作为该
单一产品包的一部分而使用和转让,
并且不可将其分开使用在一台以上的计算机上。4、知识产权。本“软件产品”(包括但不限于本“软件产品
”中所含的任何图像、照片、动画、录像、录音、音乐、
文字和附加程序)、随附的印刷材料、
及本“软件产品”的任何副本的产权、
著作权和其他知识产权,均由人大金仓或其供应商拥有。通
过使用“软件产品”可访问的内容的一切所有权和知识产权
均属于各自内容所有者拥有,
并可能受著作权法或其它知识产权法和条约的保护。
本《协议》不授予您使用这些内容的权利。
如果这份“软件产品”包括只以电子形式提供的文档,
您可以打印一份该电子文档。
您不可以从本软件中去掉版权声明,并保证为本“软件产品请按 <ENTER> 键继续: ”复制品(全部或部分)复制版权声明,
您同意制止以任何形式非法复制本软件及文档。
您不可复制本“软件产品”随附的印刷材料。5、多重媒体软件。您可以由多种媒体获得“软件产品” 。
无论您收到何种类型或大小的媒体,
您只可使用适用于您单一的计算机的一种媒体。
您不可在另一台计算机上运行另一种媒体。
除作为“软件产品”永久转让的一部分外(如上文所述),
您不得将另一种媒体出借、
出租或租赁或以其他方式转移给另一用户。6、备份副本。
在按照本《协议》安装一份本“软件产品”副本后,
您可以保留人大金仓用以提供给您本“软件产品”的原媒体,
仅用于备份或存档之用。
如果需要原媒体方可在计算机上使用“软件产品”,
您可以复制一份“软件产品”副本仅用于备份或存档之用。
除本《协议》中明文规定外,您不可复制本“软件产品”或
随附本“软件产品”的印刷材料。
经允许的复制件应以安全的方式予以保存。请按 <ENTER> 键继续: 7、保密。“保密信息”包括程序(含程序中使用的方法和概
念)和人大金仓识别为专有的或保密的一切信息。
除非本协议明确允许,您不得将保密信息透露或者以其他方
式提供给第三方和您没有必要授权其在业务中使用程序的任
何雇员。您应采取一切合理、必要的步骤,保证不将本软件
产品的程序或任何部分透露或以其他方式提供给第三方。如您是在中华人民共和国取得此人大金仓产品,
下列有限保证适用于您。1、有限保证只要您有有效的许可,人大金仓保证:(1)“软件产品”
自收货之日起九十天内基本符合随附书面材料所述的功能。
(2)人大金仓提供的支持服务应基本与有关书面材料中所述
相符,并且人大金仓支持工程师将在商业所允许的范围内尽
力解决任何问题。如果本产品不符合本保证,
人大金仓将修理、更换本产品或退回您已支付的价款,但您
应将该“软件产品”连同您所持有的发票一同退还给人大金
仓。如果本产品的故障是由事故、滥用或误用所造成,
则本保证无效。退换的产品享受原保证期剩余时间,
或三十天的保证(以时间较长者为准)。
在适用法律允许的最大范围内,并且除上述保证外,请按 <ENTER> 键继续: 人大金仓否认一切明示或默示的保证、条件和其他条款。不
能予以排除的任何默示保证仅限于九十天或适用法律允许的
最短期间(以时间较长者为准)内有效。
2、有限责任在适用法律所允许的最大范围内,除上述保证规定者外,
人大金仓或其供应商在任何情况下绝不就因使用或不能使用
“软件产品”或因提供或未提供支持服务所发生的任何特殊
的、意外的、
非直接的或间接的损失(包括但不限于营业利润损失、
营业中断、
商业信息的遗失或任何其他金钱上的损失)承担赔偿责任,
即使人大金仓或其任何供应商事先被告知该损害发生的可能
性。不论任何情况,
人大金仓在本《协议》任何条款下所承担的全部责任,
以您就“软件产品”实际已付的价款或人民币10.00元为限,
以两者之间较高额为准。但是,
如果您已经与人大金仓达成支持服务协议,人大金仓就支持
服务的全部赔偿责任应以该支持服务协议条款为准。管辖法律本协议受中华人民共和国法律管辖(包括但不限于《中华
人民共和国著作权法》、请按 <ENTER> 键继续: 《中华人民共和国计算机软件保护条例》、
《中华人民共和国商标法》、《中华人民共和国专利法》、
《中华人民共和国反不正当竞争法》等法律法规)。
因本协议或其违约引起的或与之有关的任何争论或索赔,
应由人大金仓所在地人民法院管辖。
人大金仓的知识产权如被侵犯,上述规定不限制人大金仓就
此向具有合法管辖权的法院请求做出强制性的补救措施。人大金仓的联系方式如下:地址:北京市朝阳区容达路7号中国电科太极信息产业园B座三
层
邮编:100102
电话:86-10-5885 1118
网址:www.kingbase.com.cn
全国服务热线:400-601-1188
技术支持邮箱:support@kingbase.com.cn是否接受此许可协议条款? (Y/N): Y===============================================================================
选择授权文件
------请选择正确的授权文件(license.dat)。
如有疑问请联系北京人大金仓信息技术股份有限公司。授权文件路径: /install/license.dat授权文件内容
--------------------------------------------------
produceDate: 2022-12-02
validDays: 365
MacAddr: 00:00:00:00:00:00
ServiceNum: 100
clientNumPerService: 100
supportConsole: 1
supportCompare: 1===============================================================================
选择安装集
-----请选择将由本安装程序安装的“安装集”。->1- 完全安装2- 管控平台3- 比对服务输入“安装集”的号码,或按 <ENTER> 键以接受缺省值: ===============================================================================
选择安装文件夹
-------您想在哪一位置安装?缺省安装文件夹: /opt/KFS输入一个绝对路径,或按 <ENTER> 键以接受缺省路径: ===============================================================================
比对服务元数据库配置
----------比对服务元数据库配置。->1- MySQL2- Kingbase3- PostgreSQL输入对应数据库类型数字,或按<ENTER>键接受缺省类型: 21- 是->2- 否V8R6及以上版本: 1主机名: node2
主机名: 192.168.40.112端口号 (默认: 54321): 数据库名: console模式名(小写): kfs用户名: flysync密码: flysync->1- 是2- 否初始化元数据库: 1--------------------------------------------------
测试连接成功。===============================================================================
服务元信息配置
-------服务元信息配置。管理员账号信息账号: admin
密码: admin确认密码: admin服务中心端口 (默认: 8090): 管控平台端口 (默认: 8089): 比对服务端口 (默认: 8091): --------------------------------------------------===============================================================================
预安装摘要
-----按 <ENTER> 键继续。如果所列信息有误,请输入“BACK”,
然后进行更改产品名:金仓数据同步管理平台安装文件夹:/opt/KFS磁盘空间信息(用于安装目标): 所需空间: 1,401.89 MB可用空间: 5,489.81 MB请按 <ENTER> 键继续: ===============================================================================
正在安装...
-------[==================|==================|==================|==================][------------------|------------------|------------------|------------------]===============================================================================
请稍候
---===============================================================================
请稍候
---===============================================================================
请稍候
---===============================================================================
请稍候
---===============================================================================
安装完成
----恭喜!金仓数据同步管理平台 已成功地安装到:/opt/KFS如果您需要将 金仓数据同步管理平台 注册为系统服务,
请以 root 身份运行/opt/KFS/scripts/Root.sh启动服务后访问金仓数据同步管理平台,地址:http://localhost:8089/login单击“完成”以退出安装程序。按 <ENTER> 键以退出安装程序:
Complete.
[flysync@node2 install]$
b.界面化安装
Installation failed .
[flysync@node2 install]$
[flysync@node2 install]$ export DISPLAY=192.168.40.1:0.0
[flysync@node2 install]$ ./setup.sh -i swing
Now launch installer...
正在准备进行安装
正在从安装程序档案中提取 JRE...
正在解包 JRE...
正在从安装程序档案中提取安装资源...
配置该系统环境的安装程序...正在启动安装程序...
Complete.
[flysync@node2 install]$
c.如果为正常卸载数据库
[flysync@node2 ~]$ rm ~/.com.zerog.registry.xml
(5).启动管控平台
注意:一定要用root用户执行
[flysync@node2 install]$ exit
exit
[root@node2 ~]# /opt/KFS/scripts/Root.sh
Detected RHEL or Fedora:
Installing the FlySync Web Manager Service daemon using systemd...
creating default service file...
Created symlink from /etc/systemd/system/multi-user.target.wants/fsmanager.service to /etc/systemd/system/fsmanager.service.
Detected RHEL or Fedora:
Installing the FlySync Web Console Service daemon using systemd...
creating default service file...
Created symlink from /etc/systemd/system/multi-user.target.wants/fsconsole.service to /etc/systemd/system/fsconsole.service.
Detected RHEL or Fedora:
Installing the FlySync Compare Service daemon using systemd...
creating default service file...
Created symlink from /etc/systemd/system/multi-user.target.wants/fscompare.service to /etc/systemd/system/fscompare.service.
Starting FlySync Web Manager Service with systemd...
Waiting for FlySync Web Manager Service...
running: PID:48396
Starting FlySync Web Console Service with systemd...
Waiting for FlySync Web Console Service...
running: PID:48663
Starting FlySync Compare Service with systemd...
Waiting for FlySync Compare Service...
running: PID:48922
SUCCESS
[root@node2 ~]#
(6).验证平台是否正常运行
KFSMC平台服务器地址为192.168.40.112,平台端口为8089
安装时用户名和密码都是admin
4.创建管控平台专用用户
(1).创建角色并配置权限
【系统管理】>【角色管理】>【添加】>【填入相关信息】>【保存】
【系统管理】>【角色管理】> 【权限分配】
(2).创建用户
【系统管理】 >【用户管理】 >【添加】> 【填写相关信息】>【保存】