KES数据库部署工具使用
一、启动部署工具
Windows系统
#命令行
${安装目录}/ClientTools/guitools/DeployTools/deploy.exe
Linux系统
#命令行
[root@node ~]# ${安装目录}/ClientTools/guitools/DeployTools/deploy
二、环境配置
1.硬件要求
#都是最小配置
CPU:主流32或64位
内存:1GB以上
硬盘:1GB以上
2.系统环境配置
#以下操作都是在root用户下执行
1.#/etc/ssh/sshd_config
修改 PermitRootLogin 的参数为 yes。
[root@node ~]# systemctl restart sshd
[root@node ~]# ssh root@192.168.40.32#注意:超过5s以上是不正常的,否则会影响部署和HA的流程。
解决方法:GSSAPIAuthentication 改为 no
和UseDNS 改为 no (谨慎)2.#/etc/security/limits.conf
*soft nofile 65536
*hard nofile 65535
*soft nproc 65536
*hard nproc 65535
*soft core unlimited
*hard core unlimited#用ulimit -n去查看3.#/etc/sysctl.conf
#增加信号量
kernel.sem = 5010 641280 5010 256
#增加系统最大打开句柄数量
fs.file-max = 2000000 #root用户执行下面命令使其生效
sysctl -p4.#/etc/rc.d/rc.local(不操作)5.#/etc/systemd/logind.conf
RemoveIPC=no
[root@node ~]# systemctl daemon-reload
[root@node ~]# systemctl restart systemd-logind.service6.#/etc/systemd/system.conf(不操作)
三、集群部署(通用机)
1、创建项目
#启动
[kingbase@node ~]$ /home/kingbase/Kingbase/ES/V8/ClientTools/guitools/DeployTools/deploy
2、创建集群
输入项 | 描述 |
---|---|
选择数据库 zip 包 | 点击选择按钮,选择 db.zip。 |
大小写不敏感 | 默认不勾选,即大小写敏感 |
max_connections | 数据库最大连接数,默认 100 个,不能为空。参数最小值不能小于 100,最大值无限制。 |
listenerPort | 数据库监听端口号,默认 54321,不能为空。 |
dbUser | 数据库用户名,默认 system,不能为空。 |
dbPassword | 数据库密码,默认 12345678ab,不能为空。 |
synchronous | 集群同异步控制参数。sync,同步集群,第一个正常的备库为同步备库;async,异步集群,所有备库为异步;quorum,优选同步集群,所有备库中最先同步完成的为同步备库;all,动态全同步集群,所有备库为同步备库;custom,自定义同异步模式集群,支持自定义集群中每个节点的同异步类型。 |
archive_path | 数据库归档路径。 |
dbmode | 数据库兼容模式,Oracle、PostgreSQL、MySQL 三种模式,默认兼容 Oracle。 |
加密算法 | 数据库认证采取的加密方式,scram-sha-256、md5、scram-sm3、sm4,默认是 scram-sha-256。 |
使用已存在的 data 目录 | on:主节点创建时使用指定的 data 目录进行集群的部署,后面输入框状态变更为可输入,必须配置为绝对路径;当前页面中的 dbmode、加密算法、大小写不敏感变为灰色,无法选择或勾选。高级设置页面中的审计表空间加密、db_other_options、encoding、waldir 变为灰色无法勾选。off:后面的输入框为灰色不可输入,后面输入框中默认显示的内容等同于下面的 data_directory 的值。 |
ip 类型 | 支持 IPV4 和 IPV6 两种地址类型。 |
trust_server | 集群的信任网关,网关可以填写多个用英文逗号分隔,多个信任网关中有一个可用即可。 |
使用 hostname | 开启后工具支持多网域域名部署 |
使用多网冗余部署 | 开启后 connection_timeout 参数改为 10,关闭为 5。此功能需开启“使用 hostname”才可使用。 |
ping_path | 系统环境中 ping 指令所在路径。 |
hamgr_dbname | 默认是 esrep,且不可修改。repmgr 所依赖的表就存放在此数据库中。 |
hamgr_dbuser | 默认是 esrep,且不可修改。登录 esrep 数据库的用户为 esrep。 |
data_directory | 集群数据库 data 存放路径。 |
sys_bindir | 集群数据库 bin 存放路径。 |
repmgrd_pid_file | 记录 repmgrd pid 文件路径,默认值:${cluster_path}/kingbase/etc/repmgrd.pid,参数值不允许修改。写入 repmgr.conf 文件,参数名为:repmgrd_pid_file |
kbha_pid_file | 记录 kbha pid 文件路径,默认值:${cluster_path}/kingbase/etc/kbha.pid,参数值不允许修改。写入 repmgr.conf 文件,参数名为:kbha_pid_file |
repmgrd_log_file | 记录 repmgrd 日志文件路径,默认值:${cluster_path}/kingbase/log/hamgr.log,参数值不允许修改。写入 repmgr.conf 文件,参数名为:log_file |
kbha_log_file | 记录 kbha 日志文件路径,默认值:${cluster_path}/kingbase/log/kbha.log,参数值不允许修改。写入 repmgr.conf 文件,参数名为:kbha_log_file |
running_under_failure_trusted_servers | 网关故障后数据库是否继续运行,可选值为 on 或 off,默认为 on。on:网关故障后,数据库不受影响,正常运行;off:网关故障后,集群会关闭数据库保证数据不发生分歧。 |
data_checksums | 用于控制是否开启数据校验和功能,默认是开启状态。on:开启数据校验和功能;off:关闭数据校验和功能;写入 repmgr_config.conf 文件,参数名为:data_checksums。 |
archive_mode | on:开启 WAL 日志归档;off:不归档。在开启归档时,always:在普通操作期间,与 on 参数没有区别。但是当设置为 always 时,重做日志归档进程在归档恢复或者后备模式下也会被启用,所有从归档恢复或者用流复制传来的重做日志文件文件将被(再次)归档。作用:可在误操作或者数据损坏的情况下,通过物理备份和归档进行数据恢复。 |
流复制通信超时时间 | 流复制之间的数据传输超时时间,超过这个时间没有数据传输则表示流复制断开了,会进行重连。 |
注意:
- max_connections 的值只能修改为更大的值,不能修改为更小的值。
- 利用which ping 命令,查看操作系统中真实的 ping_path 路径
- 集群部署完成后,不要修改repmgrd_pid_file、kbha_pid_file 参数的值,修改后可能会造成同时启动多个 kbha 或 repmgrd 进程。
输入项 | 描述 |
---|---|
wal_keep_segments | 最小预留 xlog 文件个数,默认为 512 个,不能为空。 |
max_wal_senders | 支持最大集群备机个数,默认为 32,此配置项不能大于 max_connections,最少是 n+4 个(n 为集群节点个数),不能为空。 |
hot_standby_feedback | 备机读事务时避免主机 vacuum 造成的数据无法查询的取消冲突,默认为 on,开启状态。 |
control_file_copy | 控制文件多副本,最多可配置 8 个文件,写入到 es_rep.conf 里 |
审计表空间加密 | 若勾选,则初始化数据库时增加-t 作为参数执行;若输入框中输入内容,则初始化数据库时增加-t -K ${输入的内容} 作为参数执行。 |
log_checkpoints | 数据库日志中记录检查点和重启点(包括统计信息、写入缓冲区的数据及耗时),取值 on/off,默认为 on。 |
log_replication_commands | 数据库日志中记录每一个复制命令,取值 on/off,默认为 on。 |
wal_compression | 打开后减小 WAL 空间(无不可恢复数据损坏风险),但增加 CPU 开销(压缩/解压 WAL 记录),取值 on/off,默认为 on。 |
db_other_options | Oracle 兼容模式下,initdb 需添加 -scenario-tuning 参数,调用 scenario_tuning.sql 生成 V7 兼容视图/字段。 |
encoding | 模板数据库编码格式,未选时不可选 locale;选 default 时为 SQL_ASCII,默认为 utf8。 |
locale | Collate 和 CType 的统一值(如 “C” 表示二进制比较规则),初始化后不可修改。 |
virtual_ip | DB 节点虚拟 IP(切换时跟随主 DB),多 cluster 时可空;填写需为有效、不可 ping 通的 IP。 |
virtual_ip_mask | 虚拟 IP 掩码长度,默认 24,需与加载虚拟 IP 的网卡实际掩码一致。 |
ip_path | 系统环境中 ip 指令所在路径。 |
auto_cluster_recovery_level | 全故障自动恢复配置:0(关闭)、1(打开),默认为 1。 |
use_check_disk | 磁盘故障后是否关闭数据库:off(关闭)、on(开启),默认为 off。 |
waldir | 指定 wal 日志软链接目录,将 data 目录中 sys_wal 作为软连接存在。 |
scmd_options | 集群节点 ssh 通信配置项,连接超时 10 秒。 |
conn_options | 集群节点连接配置项。 |
failover | 节点故障自动切换模式:automatic(默认)、manual。 |
服务可用优先 / 数据保护优先 | 单选项,影响 reconnect_attempts /reconnect_interval /recovery /synchronous_commit 默认值,默认数据保护优先。 |
reconnect_attempts | 集群连接重试次数:服务可用优先默认 3,数据保护优先默认 10。 |
reconnect_interval | 集群连接重试间隔(最小值 3):服务可用优先默认 5,数据保护优先默认 6。 |
recovery | 节点故障自动恢复模式:manual(关闭)、standby(备机恢复)、automatic(全部恢复);服务可用优先默认 automatic,数据保护优先默认 standby。 |
synchronous_commit | 事务提交前是否等待 WAL 写入磁盘:on/off/local/remote_write/remote_apply;服务可用优先默认 on,数据保护优先默认 remote_apply。 |
注意:在使用 NetworkManager 管理网络服务的情况下,你手动删除了 virtual_ip 所在网卡上所有的物理
IP,有可能导致 virtual_ip 丢失,且在物理 IP 被重新添加上之前,virtual_ip 不会自动添加。
3、新增节点(少图片)
输入项 | 描述 |
---|---|
使用 ssh 启动 securecmd | 单选项,默认选中。此项选中时,需配置 ssh 端口 、root 密码 、选择 securecmd 文件 、securecmd 路径 四项;支持通过 ssh 方式上传并启用 securecmd。 |
主机名或 IP 地址 | 当前节点(服务器)的 IP 地址或主机名;若“开启 hostname”未勾选,此处显示为 IP 地址。 |
ssh 端口 | 节点所在物理机器的 ssh 端口,默认 22,不可为空。 |
用户名 | 下拉框单选项:部署主节点时默认 root ,可选物理机的 root 或常规用户;部署备节点时,与主节点部署用户一致。 |
用户密码 | 节点物理机的 root 或常规用户密码,需与“用户名”匹配,不能为空。 |
选择 securecmd 文件 | securecmd 安装包,不可为空。 |
securecmd 路径 | 节点服务器上 securecmd 的部署路径,不可为空;必须位于 /home/${常规用户} 目录下。 |
使用已部署的 securecmd | 单选项,默认不选中;选中后需手动在节点服务配置 securecmd,可点击“下一步”进入节点配置页。 |
输入项 | 描述 |
---|---|
securecmd 版本检查 | 下拉框选项,可选值为 “自动检查”、“指定版本”。选择 “指定版本” 时需填写版本号。 |
securecmd 版本号 | 当 “securecmd 版本检查” 选择 “指定版本” 时,需填写此选项,格式为 X.Y.Z(如 1.2.3)。 |
加密方式 | 下拉框单选项,可选值为 “AES-256”、“RSA-2048”、“SM4”,默认为 “AES-256”。 |
密钥长度 | 根据所选加密方式自动调整,如 AES 可选 128/192/256 位,RSA 可选 1024/2048/4096 位。 |
连接超时时间(秒) | 整数输入框,范围 1-300,默认 30 秒,用于设置 securecmd 连接超时时间。 |
心跳检测间隔(秒) | 整数输入框,范围 5-300,默认 60 秒,用于设置 securecmd 心跳检测频率。 |
最大并发连接数 | 整数输入框,范围 1-1000,默认 100,限制同时连接到 securecmd 的最大客户端数量。 |
日志级别 | 下拉框单选项,可选值为 “ERROR”、“WARN”、“INFO”、“DEBUG”,默认为 “INFO”。 |
日志保存路径 | 节点服务器上 securecmd 日志文件的保存路径,默认为 /var/log/securecmd/ ,需确保目录可写。 |
自动更新 | 开关选项,默认关闭。开启后,securecmd 将自动检测并下载官方更新补丁。 |
更新时间窗口 | 当 “自动更新” 开启时显示,下拉框选项,可选 “凌晨 0-2 点”、“凌晨 2-4 点” 等维护时间段。 |
小case
节点环境检测
- 点击检查按钮–>黄色提示为警告内容
- 点击一键修改系统参数,可解决
- 点击关闭防火墙
4、新增Witneess节点
集群里主库、备库可能因网络问题 “闹别扭”(比如备库突然连不上主库,但主库其实还活着 ),Witness 节点负责当 “裁判”,判断到底谁该当主、谁该当备,避免出现 “脑裂”(多节点都自认主库,互相冲突,数据乱套)。
输入项 | 描述 |
---|---|
Witness 名称 | 用户自定义的 Witness 节点名称(服务器的别名),最终将会显示在左侧的树形菜单中。 |
主机名或 IP 地址 | 当前节点(服务器)的 IP 地址或主机名。当“开启 hostname”选项未勾选时,此处名称为 IP 地址。 |
securecmd 端口、常规用户、默认路径 | 此三项均来自通用配置中,无需再次填写,且无法修改。详细介绍参见通用配置参数介绍。 |
系统节点名称 | 系统节点名称是用于记录在数据库配置文件中的节点(服务器)别名,目前采用 node + ip 最后一段的拼接的方式命名。 |
选择 license 文件 | 此项主要是针对非保密机集群。需要填写集群节点所需要的 license 的上传路径。 |
5、删除节点
鼠标右键点击需要删除的节点。当 synchronous 为非 custom 模式时,节点状态需正常才能进行删除节点。
6、日志查询功能
输入项 | 描述 |
---|---|
显示名称 | 新建的日志节点名称,只能是英文、数字、下划线或者三者组合,不能为空。 |
主机名或 IP 地址 | 当前节点(服务器)的 IP 地址或主机名。当“开启 hostname”选项未勾选时,此处名称为 IP 地址。 |
securecmd 端口 | 工具连接节点或者直接向节点发起指令时,创建连接所使用到的 securecmd 服务端口号,默认为 8890,可根据环境修改 |
securecmd 用户名 | 工具连接节点需要通过指定用户连接的用户名 |
securecmd 密码 | 对应用户名的用户密码 |
数据库 Data 路径 | 节点所安装的数据库对应的 Data 目录的路径 |
日志查看
7、开发者模式
-
此模式的功能:启动此节点数据库、恢复至集群、提升为主库、保留此主库。但是有丢数据的风险。
-
输入密码“rdjc12#$”,选择“正常”开启开发者模式。
8、集群管理
8.1 集群查看
8.2 恢复至集群(需开启开发者模式)
原主机宕机或异常,右键异常的原主节点,”恢复
至集群”按钮变为可点击状态
8.3 提升为主库(需开启开发者模式)
8.4 保留此主库(需开启开发者模式)
8.5 节点查看
左键双击需要查看的节点名称,查看节点信息
8.6 启动/关闭集群
鼠标右键选择集群,选择菜单中的停止集群
8.7 暂停/恢复功能
图中有复选框 dry-run,如果勾选复选框,工具会先尝试执行一次暂停自动功能的操作,尝试成功则直接执行暂停指令。反之,失败则不执行暂停指令。如果未勾选复选框,工具会直接执行暂停集群功能的指令。暂停状态会被现实成红色。
8.8 主备切换功能
8.9 一键检查功能
8.10 修改参数配置
输入项 | 描述 |
---|---|
参数名称 | 下拉选项(包括可配置的数据库参数) |
参数值 | 输入参数名称对应的值 |
说明 | 参数值范围等相关说明 |
8.11 修改集群密码
输入数据库超级用户(管理员)的用户名及密码,并输入 esrep 用户的新密码两遍,实现对 esrep 用户的密码修改。
8.12 启动此节点数据库(需开启开发者模式)
点击节点–>启动此节点数据库
四、集群部署(专机)
集群部署工具安装后,使用前,需要自己手动启动节点服务器上的 securecmd 服务,并删除安装后生成的 data目录。
所有内容都和通用机一样,区别在于集群管理中的一键检查功能没有