暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

KingbaseES V9数据库单机静默安装配置实战指南

原创 jiayou 2025-02-21
149

一、KingbaseES V9单机静默安装原理与核心配置

1.1 静默模式概述

静默安装通过预定义配置文件(silent.cfg)实现无人值守部署,适用于批量环境或自动化运维场景。安装包挂载后,需从setup目录复制模板文件至可写路径修改关键参数,避免因ISO只读属性导致配置失败。

1.2 核心参数配置

参数名

说明

默认值

可选值

CHOSEN_INSTALL_SET

安装模式

Full

Full、Client、Custom

USER_INSTALL_DIR

安装目录

/opt/Kingbase/ES/V9

自定义路径(需绝对路径)

KB_LICENSE_PATH

许可证路径

如/home/kingbase/license.dat

USER_SELECTED_DATA_FOLDER

数据库数据目录

/opt/Kingbase/ES/V9/data

自定义路径(需绝对路径)

DB_PORT

数据库端口

54321

1-65535 有效端口

DB_USER

管理员用户名

system

长度≤63字节

ENCODING_PARAM

字符集编码

UTF8

UTF8, GBK, GB18030, GB2312

DATABASE_MODE_PARAM

数据库兼容模式

ORACLE

ORACLE, PG, MySQL

注意事项

  • 修改silent.cfg后需验证参数有效性(如路径是否存在、端口是否占用)。
  • 若选择Custom安装模式,需通过CHOSEN_FEATURE_LIST指定组件(如SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA)。

二、Linux环境部署全流程

2.1 前置环境准备

# 创建用户组与用户(需root权限)

groupadd dba -g 3000

useradd kingbase -g dba -u 3001

echo "kingbase123" | passwd --stdin kingbase

# 创建目录并赋权

mkdir -p /opt/Kingbase/ES/V9/kingbase /home/kingbase/{data,archivelog,backup}

chown -R kingbase:dba /opt/Kingbase /home/kingbase

# 挂载ISO镜像

mount -t iso9660 -o loop KingbaseES_V009R001C002B0014_Lin64_install.iso /mnt/iso

# 关闭防火墙与SELinux

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

setenforce 0

# 配置内核参数(/etc/security/limits.conf)

cat>>/etc/security/limits.conf<<EOF

kingbase soft nofile 1048576

kingbase hard nofile 1048576

kingbase soft nproc 131072

kingbase hard nproc 131072

kingbase soft stack 10240

kingbase hard stack 32768

kingbase soft core unlimited

kingbase hard core unlimited

EOF

# 修改资源使用参数(/etc/sysctl.conf)

cat>>/etc/sysctl.conf<<EOF

fs.aio-max-nr=1048576

fs.file-max=6815744

kernel.shmall=2097152

kernel.shmmax=17179869184

kernel.shmmni=4096

kernel.sem= 5010 641280 5010 256

net.ipv4.ip_local_port_range=9000 65500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048576

EOF


#root用户下执行,重载配置生效。

sysctl -p

# 修改RemoveIPC 参数


sed -i 's/^#\(RemoveIPC=\).*/\1no/' /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind.service

2.2 配置文件定制

# 复制并修改silent.cfg(需root权限)

cp /mnt/iso/setup/silent.cfg /home/kingbase/

chown kingbase:dba /home/kingbase/silent.cfg

chmod +w /home/kingbase/silent.cfg

# 使用sed批量修改关键参数

sed -i 's|KB_LICENSE_PATH=.*|KB_LICENSE_PATH=/home/kingbase/license.dat|' /home/kingbase/silent.cfg

sed -i 's|CHOSEN_INSTALL_SET=.*|CHOSEN_INSTALL_SET=Full|' /home/kingbase/silent.cfg

sed -i 's|USER_INSTALL_DIR=.*|USER_INSTALL_DIR=/opt/Kingbase/ES/V9/kingbase|' /home/kingbase/silent.cfg

sed -i 's|USER_SELECTED_DATA_FOLDER=.*|USER_SELECTED_DATA_FOLDER=/home/kingbase/data|' /home/kingbase/silent.cfg

sed -i 's|DB_PORT=.*|DB_PORT=54321|' /home/kingbase/silent.cfg

sed -i 's|DB_USER=.*|DB_USER=system|' /home/kingbase/silent.cfg

sed -i 's|DB_PASS=.*|DB_PASS=kingbase123|' /home/kingbase/silent.cfg

sed -i 's|DB_PASS2=.*|DB_PASS2=kingbase123|' /home/kingbase/silent.cfg

sed -i 's|ENCODING_PARAM=.*|ENCODING_PARAM=UTF8|' /home/kingbase/silent.cfg

sed -i 's|LOCALE_PARAM=.*|LOCALE_PARAM=zh_CN.UTF-8|' /home/kingbase/silent.cfg

sed -i 's|DATABASE_MODE_PARAM=.*|DATABASE_MODE_PARAM=ORACLE|' /home/kingbase/silent.cfg

sed -i 's|CASE_SENSITIVE_PARAM=.*|CASE_SENSITIVE_PARAM=YES|' /home/kingbase/silent.cfg

sed -i 's|BLOCK_SIZE_PARAM=.*|BLOCK_SIZE_PARAM=8k|' /home/kingbase/silent.cfg

sed -i 's|AUTHENTICATION_METHOD_PARAM=.*|AUTHENTICATION_METHOD_PARAM=scram-sha-256|' /home/kingbase/silent.cfg

2.3 执行静默安装

# 切换至kingbase用户执行安装

su - kingbase

cd /mnt/iso

./setup.sh -i silent -f /home/kingbase/silent.cfg

# 验证安装日志

cat /opt/Kingbase/ES/V9/kingbase/install/Logs/KingbaseES_V9_安装_*.log

成功标志:日志末尾显示 Installation: Successful. 且无错误计数。

注意事项:安装过程涉及两个阶段:

  • 安装程序(二进制程序),包括KingbaseES数据库服务端或客户端等软件组件。
  • 系统的初始化,使用initdb命令初始化磁盘上的数据存储区,创建数据库集簇。

如果安装不成功,重新安装前请清空相关目录。

2.4 开机自启动(可选)

# 注册系统服务(需root权限)

/opt/Kingbase/ES/V9/kingbase/install/script/root.sh

三、KingbaseES 功能解析

3.1 核心工具目录结构

目录

功能

描述

Server

对应目录存放了服务器二进制文件,链接文件等。

Server\bin:服务器二进制文件,可以在该路径下进行启动服务,连接数据库,物理备份还原,逻辑备份还原等操作。

Data

初始化生成的data文件,存放了数据库参数配置相关信息。

包括以下配置文件:initdb.conf、kingbase.auto.conf、kingbase.conf、sys_hba.conf、sys_ident.conf

license.dat

指向安装时使用的认证许可证书。

ClientTools

客户端安装时所需的命令行,可执行二进制文件,链接文件等。

ClientTools\guitools\KStudio:开发管理工具,能运行在各种平台的图形工具,用于管理和配置KingbaseES数据库服务器,管理各种KingbaseES数据库对象,进行KingbaseES数据库的安全管理,调用查询分析器执行和测试SQL语句。

ClientTools\guitools\KDts:数据库迁移工具,可以用于跨平台数据交换和迁移,支持同异构数据源之间的数据迁移。该目录下存放了迁移工具的相关程序和配置文件。

ClientTools\guitools\DeployTools:集群部署工具,用于远程部署集群节点服务。该目录存放了集群部署工具相关的程序和配置文件。

SupTools

巡检工具相关脚本和配置文件

系统数据与日志收集工具(kb_gathertool)、问题诊断辅助工具(kb_diagtool)、辅助运维工具(kb_modify_syscfg、kb_check、kb_backup)。

Interface

开发接口

JDBC、ODBC、Python驱动等

KingbaseHA

搭建Clusterware集群工具

doc

官方文档与帮助手册

Uninstall

卸载脚本与依赖文件

install

安装过程中依赖和使用的各类文件

install\jre:Jre,存放了java工具需要用到的二进制文件。

install\script:该目录下存放了数据库初始化脚本,包括initdb.bat,register.bat,sysctl.bat,unregister.bat,vcredist_x64.exe等。

install\Logs:日志目录,存放了数据库安装,卸载,修改实例等日志文件。

install\LICENSE.EN:许可协议(英文)

install\LICENSE.ZH:许可协议(中文)

3.2 客户端工具

  • KStudio:图形化数据库管理(对象管理、SQL调试、权限配置)。
  • KDts:异构数据库迁移(支持Oracle/MySQL到KingbaseES数据同步)。
  • deploy:KingbaseES数据库集群部署工具。

四、用户环境变量配置

# 编辑用户环境变量(~/.bashrc)

export KINGBASE_HOME=/opt/Kingbase/ES/V9/kingbase

export PATH=$KINGBASE_HOME/Server/bin:$PATH

export PATH=$KINGBASE_HOME/ClientTools/bin:$PATH

export PATH=$KINGBASE_HOME/ClientTools/guitools/KStudio:$PATH

export PATH=$KINGBASE_HOME/ClientTools/guitools/DeployTools:$PATH

export PATH=$KINGBASE_HOME/ClientTools/guitools/KDts:$PATH

export LD_LIBRARY_PATH=$KINGBASE_HOME/Server/lib:$LD_LIBRARY_PATH

export KINGBASE_DATA=/home/kingbase/data

export KINGBASE_PORT=54321

# 立即生效

source ~/.bashrc

# 连接数据库示例

ksql -Usystem -dtest -h localhost -p 54321

五、配置文件管理

KingbaseES主服务器的配置主要通过修改配置文件 kingbase.conf 完成。而配置文件 sys_hba.conf 和 sys_ident.conf 主要用于控制强身份验证 。当数据库集簇目录被初始化时,上述三个配置文件将被默认拷贝在数据目录中。

5.1 优先级说明

  • kingbase.auto.conf 优先级高于 kingbase.conf。
  • 动态修改参数:

ALTER SYSTEM SET wal_level = replica; -- 写入kingbase.auto.conf

5.2 身份验证配置

  • sys_hba.conf:控制客户端IP、用户、数据库的访问权限。
  • sys_ident.conf:定义用户名映射规则。

六、KingbaseES V9数据库简单运维

6.1使用kingbase工具sys_ctl 管理kingbaseES数据库启停

1.启动数据库

通过sys_ctl命令启动数据库

sys_ctl -w start -D $KINGBASE_DATA -l $KINGBASE_DATA/sys_log/startup.log

waiting for server to start.... done

server started

2.关闭数据库

通过sys_ctl –D data路径 stop命令关闭数据库,如下:

sys_ctl -D $KINGBASE_DATA stop

或者

sys_ctl stop -m fast -w -D $KINGBASE_DATA

waiting for server to shut down.... done

server stopped

参数说明:

  • smart:等所有连接中止后才关闭
  • fast(默认方式):断开客户端连接、回事务、正常关闭数据库
  • immediate:立即关闭,下次启动要进行恢复。相当于0racle的shutdown abort
  • fast:最常用的方式,相当于0racle的shutdown immediate

3.重启数据库

通过sys_ctl –D data路径 restart重启数据库,如下:

sys_ctl -D $KINGBASE_DATA restart

4.查看相关进程

ps -axf | head -1;ps -axf|grep kingbase | grep -v 'grep\|sshd'

PID TTY STAT TIME COMMAND

1216 ? Ss 0:00 sys_securecmdd: /opt/Kingbase/ES/V9/kingbase/bin/sys_securecmdd -f /opt/kes/etc/securecmdd_config [listener] 0 of 128-256 startups

8004 ? Ssl 0:00 /opt/Kingbase/ES/V9/kingbase/KESRealPro/V009R001C002B0014/Server/bin/kingbase -D /home/kingbase/data

8006 ? Ss 0:00 \_ kingbase: logger

8008 ? Ss 0:00 \_ kingbase: checkpointer

8009 ? Ss 0:00 \_ kingbase: background writer

8010 ? Ss 0:00 \_ kingbase: walwriter

8011 ? Ss 0:00 \_ kingbase: autovacuum launcher

8012 ? Ss 0:00 \_ kingbase: archiver last was 000000010000000000000004

8013 ? Ss 0:04 \_ kingbase: stats collector

8014 ? Ss 0:00 \_ kingbase: kwr collector

8015 ? Ss 0:03 \_ kingbase: ksh writer

8017 ? Ss 0:02 \_ kingbase: ksh collector

8018 ? Ss 0:00 \_ kingbase: logical replication launcher

此外如果注册了kingbased服务到系统,可以使用systemctl、service命令管理KES服务。

七、总结

通过静默安装可快速完成企业级部署,建议结合Ansible实现批量自动化。

附录:完整参数表,重点关注CHOSEN_INSTALL_SET、DB_PORT、AUTHENTICATION_METHOD_PARAM等。

Install配置文件参数说明

序号

参数名

默认值

说明

1

CHOSEN_INSTALL _SET

Full

选择安装集,可选值包括:

1)Full,完全安装

2)Client,客户端安装

3)Custom,定制安装

2

CHOSEN_FEATURE _LIST

SERVER,MANAGER, KDTS,DEPLOY, INTERFACE, KINGBASEHA

选择安装特性,CHOSEN_INSTALL_SET=Custom起作用。可选值:

1)SERVER,服务器

2)KSTUDIO,数据库开发管理工具

3)KDTS,数据库迁移工具

4)DEPLOY,数据库部署工具

5)INTERFACE,接口

6)KINGBASEHA,高可用组件 多值用逗号分隔。大小写不敏感。如果是错误的组件名称则忽略。

3

KB_LICENSE_PATH

授权文件的绝对路径,如果指定该参数,就会选择用户指定的 license文件;如果未指定,则会使用软件自带试用版授权, 请在有效期内及时更换正式授权文件。

4

USER_INSTALL_DIR

/opt/Kingbase/ES/V9

安装目录绝对路径,必须指定,否则报错退出安装过程。 路径分隔符使用'/'。

5

USER_SELECTED _DATA_FOLDER

数据目录绝对路径,必须为空目录,否则报错退出安装过程。 如果不指定数据目录,默认为安装路径下data目录。

6

DB_PORT

54321

数据库服务端口,必填,端口取值范围为1-65535。 否则报错退出安装过程。

7

DB_USER

system

数据库默认用户名,必填,长度不超过63字符。 否则报错退出安装过程。

8

DB_PASS

数据库初始密码,必填,否则报错退出安装过程。无长度限制。

9

DB_PASS2

确认数据库初始密码,需要和DB_PASS一致,否则报错退出安装过程。

10

ENCODING_PARAM

UTF8

数据库字符集,必填,大小写敏感,否则报错退出安装过程。可选值 1) default 2)UTF8 3)GBK 4)GB2312 5)GB18030

11

DATABASE_MODE _PARAM

ORACLE

数据库兼容模式,必填,大小写敏感,否则报错退出安装过程。 可选值1)ORACLE 2)PG 3) MySQL

12

LOCALE_PARAM

当字符集编码为 default 时,默认区域值为:default(可选 C) 当字符集编码为 UTF8 时,默认区域值为:zh_CN.UTF-8 (可选 en_US.UTF-8、C) 当字符集编码为GBK 时,默认区域值为:zh_CN.GBK(可选 C) 当字符集编码为GB2312时,默认区域值为:zh_CN.GB2312(可选 C) 当字符集编码为GB18030时,默认区域值为:zh_CN.GB18030(可选 C)

13

CASE_SENSITIVE _PARAM

YES

数据库是否区分大小写,必填,大小写敏感,否则报错退出安装过 程。可选值1)YES 2)NO

14

BLOCK_SIZE _PARAM

8k

存储块大小,必填,大小写敏感,否则报错退出安装过程。可选值 1)8k 2)16k 3)32k

15

AUTHENTICATION_ METHOD_PARAM

scram-sha-256

默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)

16

INITCUSTOM

自定义参数,作为初始化数据库的参数,选填

注意:输入的参数值不能包含-W,--pwprompt,%和$。 如果输入的参数值包含-c,则启动数据库将使用默认端口值54321。

最后修改时间:2025-02-24 10:05:23
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

jiayou
暂无图片
关注
暂无图片
获得了255次点赞
暂无图片
内容获得18次评论
暂无图片
获得了44次收藏
TA的专栏
金仓KES数据库
收录12篇内容
yashandb
收录2篇内容
gbase
收录2篇内容
目录
  • 一、KingbaseES V9单机静默安装原理与核心配置
    • 1.1 静默模式概述
    • 1.2 核心参数配置
  • 二、Linux环境部署全流程
    • 2.1 前置环境准备
    • 2.4 开机自启动(可选)
    • 3.1 核心工具目录结构
    • 3.2 客户端工具
  • 四、用户环境变量配置
  • 六、KingbaseES V9数据库简单运维
    • 6.1使用kingbase工具sys_ctl 管理kingbaseES数据库启停
  • 七、总结