【Kingbase FlySync】界面化管控平台:1.安装部署与用户创建

同步软件安装部署与用户创建

  • 概述
  • 准备环境
  • 目标
  • 资源
    • 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数据库软件版本角色操作系统
K2node1192.168.40.111(Kingbase) KingbaseES V8R6主库CenterOS7.2
K2node2192.168.40.112(Kingbase) KingbaseES V8R6备库CenterOS7.2
  • 数据库安装要求
项目node1node2
数据库版本KingbaseES V8R6KingbaseES V8R6
安装路径/KingbaseES/V8//KingbaseES/V8/
data路径/data/data
端口5432154321
用户名systemsystem
密码kingbasekingbase

目标

  1. 同步程序安装部署
  2. 使用命令方式,完成数据迁移,并保证数据一致。
  3. 按照以下规范完成部署
类别源端目标端
replicater安装路径/home/flysync/replicator/home/flysync/replicator
replicator端口rmi-port:11000/kufl-port:3112rmi-port:11000/kufl-port:3112
kfs服务名kingbase8_sourcekingbase8_target
KFS 同步所使用的用户flysync/flysyncflysync/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/
映射规则1examexam[0017]
映射规则2exam.courseexam0017.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 1116 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 114 2019 fspm
drwxrwxr-x 3 flysync flysync      17 114 2019 rbenv
-rw-r--r-- 1 flysync flysync 6993781 1116 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
20231116日 星期四 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 114 2019 fspm
drwxrwxr-x 3 flysync flysync      17 114 2019 rbenv
-rw-r--r-- 1 flysync flysync 6993781 1116 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
20231116日 星期四 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 49 2023 KingbaseES_V008R006C005B0023_Lin64_single_install.iso
-rw-r--r-- 1 root     root     1186909089 1117 10:40 KingbaseFlySync-V002R002C004B20230320-mc-Linux-x86_64.tar.gz
-rw-r--r-- 1 root     root           3351 49 2023 license_12350_0_dev.dat
-rw-r--r-- 1 root     root           1396 1117 10:41 license.dat
drwxrwxr-x 2 kingbase kingbase          6 49 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).创建用户

【系统管理】 >【用户管理】 >【添加】> 【填写相关信息】>【保存】

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/145502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django 配置 Email Admin 详细指南

概要 Django 是一个高级的 Python Web 框架&#xff0c;它鼓励快速开发和清洁、实用的设计。当你正在开发一个 Django 项目时&#xff0c;监控网站的运行情况是非常必要的。Django 提供了一个功能强大的 admin 界面&#xff0c;但同时也可以通过配置 email admin 来获取网站的…

十大热门骨传导蓝牙耳机排行榜,精选最佳的五款骨传导蓝牙耳机

排行榜十大热门骨传导耳机&#xff0c;哪些才是综合实力最强的骨传导耳机&#xff1f; 近年来&#xff0c;骨传导耳机越来越受欢迎。由于骨传导耳机不需要插入耳朵&#xff0c;用户能够同时感知周围环境的声音&#xff0c;不会完全隔绝外界&#xff0c;增加了使用时的安全性。…

Win10远程连接服务器失败,报错:出现了内部错误

背景&#xff1a;本地windows10专业版电脑远程Windows虚拟机报错&#xff0c;但实际检查控制台发现&#xff0c;虚拟机状态正常&#xff0c;只是本地远程连接莫名其妙断开&#xff0c;并报错出现了内部错误&#xff1a; 原因&#xff1a;win10客户端RDP兼容性的问题 解决方法&…

基于plc的柔性制造系统供料检测单元的设计(论文+源码)

1.系统设计 本次基于plc的柔性制造系统供料检测单元的设计&#xff0c;其系统结构框图如图2.1所示&#xff0c;系统采用西门子S7-200 型号的PLC作为主控制器&#xff0c;并结合温度传感器&#xff0c;重量传感器&#xff0c;限位开关&#xff0c;变频器等器件来构成整个系统&a…

【Vue-Demo】倒计时3秒后返回首页

首页path:/ 倒计时结束后要清除计时器&#xff0c;防止内存泄漏&#xff1a; if (this.count 0) {clearInterval(this.timer); }<!-- ErrorJump.vue --> <template><h2>Error&#xff1a;找不到页面&#xff01;</h2><h4>{{ count }}S后<R…

pdb restore in ADG database

Effect of PITR on Dataguard Environment (Standby MRP Crashed with ORA-39873) (Doc ID 1591492.1)​编辑To Bottom In this Document Symptoms Cause Solution APPLIES TO: Oracle Database Cloud Exadata Service - Version N/A and later Oracle Database Cloud Servic…

go语言学习之旅之Go语言数据类型

学无止境&#xff0c;今天学习Go 语言数据类型 Go&#xff08;或Golang&#xff09;是一种静态类型语言&#xff0c;这意味着变量的数据类型必须显式声明&#xff0c;并且在运行时不能更改。以下是Go中的一些基本数据类型&#xff1a; 这里仅介绍最常用的类型 数值类型: int: …

【漏洞复现】maccms苹果cms 命令执行漏洞

漏洞描述 感谢提供更多信息。“苹果CMS” 似乎是指 “Maccms”&#xff0c;这是一款开源的内容管理系统&#xff0c;主要用于搭建视频网站。Maccms 提供了一套完整的解决方案&#xff0c;包括用户管理、视频上传、分类管理、数据统计等功能&#xff0c;使用户能够方便地创建和…

基于django电影推荐系统

基于django电影推荐系统 摘要 该Django电影推荐系统是一个简单而基础的框架&#xff0c;旨在展示系统的基本组件。系统包括两个主要模型&#xff0c;即Movie和Rating&#xff0c;用于存储电影信息和用户评分。视图层包括展示电影列表和电影详情的功能&#xff0c;使用模板进行页…

构建自定义ChatGPT,微软推出Copilot Studio

11月16日&#xff0c;微软在美国西雅图举办“Microsoft Ignite 2023”全球开发者大会。本次人工智能成为重要主题&#xff0c;微软几乎把所有产品都集成了生成式AI功能并发布了一系列全新产品。 其中&#xff0c;微软重磅推出了Copilot Studio&#xff08;预览版&#xff09;&…

新的 Reptar CPU 缺陷影响英特尔台式机和服务器系统

英特尔修复了其现代台式机、服务器、移动和嵌入式 CPU 中的一个高严重性 CPU 漏洞&#xff0c;包括最新的 Alder Lake、Raptor Lake 和 Sapphire Rapids 微架构。 攻击者可以利用该缺陷&#xff08;追踪为CVE-2023-23583并被描述为“冗余前缀问题”&#xff09;来升级权限、获…

《视觉SLAM十四讲》-- 后端 1(下)

8.2 BA 与图优化 Bundle Adjustment 是指从视觉图像中提炼出最优的 3D 模型和相机参数&#xff08;内参和外参&#xff09;。 8.2.1 相机模型和 BA 代价函数 我们从一个世界坐标系中的点 p \boldsymbol{p} p 出发&#xff0c;把相机的内外参数和畸变都考虑进来&#xff0c;…

opencv(1):创建和显示窗口, 读取保存图片

下载源码&#xff0c;方便查看 API 信息。 快速在源码文件夹中搜索相关 api. grep“namedWindow(*-Rn// 限定 .h 文件 grep“namedWindow(*-Rn|grep "\.h" vscode 语法检测有问题 一直有波浪线 打开 vscode, setting 界面&#xff0c;搜索 python 在 setting.json…

SystemVerilog学习 (10)——线程控制

一、概述 在实际硬件中,时序逻辑通过时钟沿来激活,组合逻辑的输出则随着输人的变化而变化。所有这些并发的活动在Verilog 的寄存器传输级上是通过initial和 always块语句、实例化和连续赋值语句来模拟的。为了模拟和检验这些语句块,测试平台使用许多并发执行的线程。在测试平台…

k8s自定义Endpoint实现内部pod访问外部应用

自定义endpoint实现内部pod访问外部应用 endpoint除了可以暴露pod的IP和端口还可以代理到外部的ip和端口 使用场景 公司业务还还没有完成上云&#xff0c; 一部分云原生的&#xff0c;一部分是实体的 业务上云期间逐步实现上云&#xff0c;保证各个模块之间的解耦性 比如使…

C/C++轻量级并发TCP服务器框架Zinx-框架开发003:转大写字母输出+责任链模式+代码重构思路及实现

文章目录 1 添加转大写字母输出功能2 责任链模式2.1 责任链的设计2.2 责任链的实现2.3 责任链的测试 3 代码重构3.1 类图设计3.2 重构设计 - 头文件3.3 重构实现 1 添加转大写字母输出功能 功能流程&#xff1a; stdin通道类中包含一个功能处理类对象功能处理类中包含一个stdo…

Python武器库开发-flask篇之路由和视图函数(二十二)

flask篇之路由和视图函数(二十二) 通过创建路由并关联函数&#xff0c;实现一个基本的网页&#xff1a; #!/usr/bin/env python3 from flask import Flask# 用当前脚本名称实例化Flask对象&#xff0c;方便flask从该脚本文件中获取需要的内容 app Flask(__name__)#程序实例需…

软文推广中媒体矩阵的优势在哪儿

咱们日常生活中是不是经常听到一句俗语&#xff0c;不要把鸡蛋放在同一个篮子里&#xff0c;其实在广告界这句话也同样适用&#xff0c;媒介矩阵是指企业在策划广告活动时&#xff0c;有目的、有计划的利用多种媒体进行广告传播&#xff0c;触达目标用户。今天媒介盒子就来和大…

pipeline jenkins流水线

Pipeline 是 Jenkins 中一种灵活且强大的工作流机制&#xff0c;它允许您以代码的形式来定义和管理持续集成和持续交付的流程。 Pipeline 的作用主要体现在以下几个方面&#xff1a; 可编排的构建流程&#xff1a;使用 Pipeline&#xff0c;您可以将一个或多个阶段&#xff08…