从内核调优到集群部署:基于Linux环境下KingbaseES数据库安装指南
《KingbaseES数据库》—本篇文章所属专栏—持续更新中—欢迎订阅!
目录
引言:产品简介
第一章:安装前准备工作
1、硬件环境要求
2、软件环境要求
3、安装包准备
4、检查和配置环境
5、创建安装用户
6、准备安装目录
7、挂载安装包
第二章:安装KingbaseES
1、图形化安装
2、命令行安装
3、静默安装
第三章:安装后检查
1、查看安装日志
2、验证数据库连接
3、查看版本信息
4、检查依赖库
第四章:增删组件
1、图形化方式
2、命令行方式
第五章:卸载KingbaseES
1、删除系统服务
2、图形化卸载
3、命令行卸载
4、静默卸载
第六章:常见问题与解决方法
1、开始菜单无快捷方式
2、图形界面无法启动
3、中英文显示混乱
4、安装时提示无权限
5、初始化数据库失败
6、Java虚拟机内存不足
第七章附录:目录结构说明
第八章:总结
正文开始——
引言:产品简介
金仓数据库管理系统 [简称:KingbaseES] 是中电科金仓(北京)科技股份有限公司(简称电科金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分析类 应用,可用做信息管理系统、业务及生产系统、决策支持系统、全文检索、地理信息系统等的承载数据库。
KingbaseES 支持多种操作系统和硬件平台: 支持 Linux、Windows、国产 Kylin 等数十个操作系统产品版本,支 持通用 x86_64 及国产龙芯、飞腾、申威等 CPU 硬件体系架构。 针对不同类型的客户需求,KingbaseES 提供标准版、企业版、专业版、开发版等多种版本。这些版本构建于同 一数据库引擎上,不同平台版本完全兼容。
KingbaseES 软件能够提供一主一备以及一主多备的高可用集群架构,实现数据及实例级 (异地) 故障容灾,也能够提供多节点并行服务,内存融合及存储共享,实现高并发性能利用最大化,结合读写分离或备份使用同步实现数据保护最大化。
本文将详细介绍在Linux操作系统上安装KingbaseES的完整流程,涵盖安装前的环境准备、三种安装方式(图形化、命令行、静默)、安装后检查、组件增删、卸载方法以及常见问题排查,旨在为数据库管理员和系统工程师提供一份详实可靠的安装指南。
第一章:安装前准备工作
1、硬件环境要求
KingbaseES 支持通用 X86_64、龙芯、飞腾、鲲鹏等国产 CPU 硬件体系架构。
2、软件环境要求
KingbaseES 支持通用 X86_64、飞腾、鲲鹏、龙芯、申威等国产 CPU 硬件体系架构。KingbaseES 支持主流的 64 位 Linux 操作系统,如银河麒麟、中标麒麟、统信、欧拉、凝思、Deepin、中科方德、CentOS、Ubuntu 等。
3、安装包准备
我们可以通过电科金仓官网下载对应平台的安装程序。
我们在获得安装程序(iso 文件)的同时,应该会获得一个 MD5 值或 SHA1 值。建议先通过以下命令查看安装程序文件对应的 MD5 值或 SHA1 值,再和拿到的 MD5 值或 SHA1 值进行比对。如果一致,说明安装文件正常;如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。
假设拿到的安装包文件是 KingbaseES_V009R002C010_Lin64_install.iso,查看其 MD5 值:
md5sum KingbaseES_V009R002C010_Lin64_install.iso
查看其 SHA1 值:
sha1sum KingbaseES_V009R002C010_Lin64_install.iso
4、检查和配置环境
【检查操作系统信息】
我们可以通过以下命令查看操作系统信息:
cat /etc/*release
注意: 为避免安装失败,或安装结束后文件发生异常,请在安装前关闭操作系统的应用保护,或于安装时在操作系统 界面手动点击允许程序执行。
【检查系统内存与存储空间】
我们可以通过以下命令查看内存信息(以 MB 单位显示):
free -m
可以通过以下命令查看磁盘存储信息(以 GB 单位显示):
df -hl
注意:/tmp 目录需要至少 10G 空间。如果安装过程中出现存储空间不足的情况,请先释放足够的磁盘空间,再执 行安装程序。如果硬件配置不满足要求,需要更换满足要求的硬件设备再进行安装。
【配置内核参数】
编辑 /etc/sysctl.conf
,设置如下参数:
kernel.sem = 5010 64128000 50100 1280
kernel.shmmni = 8192
fs.file-max = 7672460
vm.overcommit_memory = 2
vm.overcommit_ratio = 90
net.ipv4.ip_local_port_range = 9000 65500
执行以下命令使配置生效:
sudo sysctl -p
【配置资源限制】
编辑 /etc/security/limits.conf
,设置如下:
* soft nofile 65536
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited
【关闭RemoveIPC】
编辑 /etc/systemd/logind.conf
,设置:
RemoveIPC=no
重启服务:
sudo systemctl daemon-reload
sudo systemctl restart systemd-logind
5、创建安装用户
KingbaseES不建议使用root用户安装,应创建专用用户:
sudo useradd -m kingbase
sudo passwd kingbase
6、准备安装目录
sudo mkdir -p /opt/Kingbase/ES/V9
sudo chown kingbase:kingbase /opt/Kingbase/ES/V9
或使用自定义路径:
su - kingbase
mkdir /home/kingbase/kdb
7、挂载安装包
sudo mount KingbaseES_V009R002C010_Lin64_install.iso /mnt/kingbase
cd /mnt/kingbase
第二章:安装KingbaseES
KingbaseES支持三种安装方式:图形化安装、命令行安装和静默安装。下面分别详细介绍。
1、图形化安装
【启动安装程序】
确保系统语言设置为中文(如需要):
export LANG=zh_CN.UTF-8
sh setup.sh
或显式指定图形模式:
sh setup.sh -i swing
选择“安装新的实例”开始安装。
【安装步骤简介】
安装流程包括:
-
许可协议:必须接受方可继续。
-
选择安装集:
-
完全安装:所有组件
-
客户端安装:仅客户端工具和接口
-
定制安装:自定义组件
-
-
选择授权文件:可选择试用或正式License。
-
选择安装目录:默认
/opt/Kingbase/ES/V9
。 -
预安装摘要:确认安装信息。
-
安装过程:等待进度完成。
-
初始化数据库:设置端口、用户名、密码、字符集等。
-
安装完成:提示执行
root.sh
注册服务。
【初始化数据库参数示例】
-
端口:54321
-
用户名:system
-
密码:自定义
-
字符集:UTF8
-
区域:zh_CN.UTF-8
-
大小写敏感:是
-
数据块大小:8k
-
身份认证方法:scram-sha-256
【注册系统服务】
安装完成后,以root身份执行:
/opt/Kingbase/ES/V9/install/script/root.sh
启动/停止服务命令:
# 启动
sys_ctl -w start -D /opt/Kingbase/ES/V9/data -l "/opt/Kingbase/ES/V9/data/sys_log/startup.log"# 停止
sys_ctl stop -m fast -w -D /opt/Kingbase/ES/V9/data
2、命令行安装
适用于无图形界面的服务器环境。
【启动安装】
export LANG=zh_CN.UTF-8
sh setup.sh -i console
【安装流程】
-
选择“安装新的实例”
-
阅读并接受许可协议
-
选择安装集(完全/客户端/定制)
-
选择组件(如为定制安装)
-
指定License文件路径
-
设置安装目录
-
确认预安装摘要
-
开始安装
-
初始化数据库(如安装Server组件)
【初始化参数设置示例】
在命令行中依次设置:
-
端口:54321
-
用户名:system
-
密码:******
-
字符集:UTF8
-
区域:zh_CN.UTF-8
-
认证方式:scram-sha-256
-
大小写敏感:YES
-
块大小:8k
3、静默安装
适用于批量部署或自动化脚本。
【准备配置文件】
复制并编辑静默安装模板:
cp /mnt/kingbase/setup/silent.cfg /home/kingbase/silent_install.cfg
编辑 silent_install.cfg
,示例内容如下:
CHOSEN_INSTALL_SET = Full
KB_LICENSE_PATH = /home/kingbase/license.dat
USER_INSTALL_DIR = /opt/Kingbase/ES/V9
DB_PORT = 54321
DB_USER = system
DB_PASS = YourPassword123
DB_PASS2 = YourPassword123
ENCODING_PARAM = UTF8
LOCALE_PARAM = zh_CN.UTF-8
CASE_SENSITIVE_PARAM = YES
BLOCK_SIZE_PARAM = 8k
AUTHENTICATION_METHOD_PARAM = scram-sha-256
【执行安装】
sh setup.sh -i silent -f /home/kingbase/silent_install.cfg
【查看安装结果】
查看安装日志:
tail -f /opt/Kingbase/ES/V9/install/Logs/KingbaseES_V9_安装__*.log
第三章:安装后检查
1、查看安装日志
日志路径:${安装目录}/install/Logs/KingbaseES_V9_安装__*.log
2、验证数据库连接
使用 ksql
连接测试:
cd /opt/Kingbase/ES/V9/Server/bin
./ksql -p 54321 -U system test
3、查看版本信息
./kingbase -V
或在ksql中执行:
SELECT version();
4、检查依赖库
cd /opt/Kingbase/ES/V9/Server/bin
ldd * | grep "not found"
如有缺失,可设置 LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Kingbase/ES/V9/Server/lib
第四章:增删组件
1、图形化方式
进入安装目录,执行:
sh setup.sh
选择“修改存在的实例”,然后选择“添加功能”或“删除功能”。
2、命令行方式
sh setup.sh -i console
选择“修改存在的实例”,然后选择添加或删除功能。
第五章:卸载KingbaseES
1、删除系统服务
如已注册服务,先卸载:
sudo /opt/Kingbase/ES/V9/install/script/rootuninstall.sh
2、图形化卸载
cd /opt/Kingbase/ES/V9/Uninstall
sh Uninstaller -i swing
3、命令行卸载
sh Uninstaller -i console
4、静默卸载
sh Uninstaller -i silent
第六章:常见问题与解决方法
1、开始菜单无快捷方式
将安装目录下的 .desktop
文件拷贝到用户 applications
目录:
cp /opt/Kingbase/ES/V9/install/desktops/* /home/kingbase/.local/share/applications/
2、图形界面无法启动
检查SSH配置:
sudo vim /etc/ssh/sshd_config
确保有以下设置:
X11Forwarding yes
重启SSH服务:
sudo systemctl restart sshd
3、中英文显示混乱
设置系统语言为中文:
export LANG=zh_CN.UTF-8
4、安装时提示无权限
避免使用root用户直接安装,应使用kingbase用户,并确保其对安装目录有读写权限。
5、初始化数据库失败
若提示缺少共享库,设置 LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=/opt/Kingbase/ES/V9/Server/lib:$LD_LIBRARY_PATH
6、Java虚拟机内存不足
调整JVM内存设置:
export _JAVA_OPTIONS="-Xmx1024M"
sh setup.sh
第七章附录:目录结构说明
安装完成后,主要目录如下:
-
Server/bin
:服务端二进制文件 -
ClientTools/guitools/KStudio
:图形化管理工具 -
ClientTools/guitools/KDts
:数据迁移工具 -
Interface
:开发接口 -
KingbaseHA
:高可用组件 -
install/script
:安装脚本 -
data
:数据库数据文件
注意:除
KESRealPro
外,其余多为软链接。
第八章:总结
今天详细介绍了在Linux系统上安装金仓数据库KingbaseES的完整流程,包括环境准备、三种安装方式、初始化配置、组件管理、卸载方法及常见问题处理。通过本指南,我们可以顺利完成KingbaseES的部署与基本管理,为后续的数据库开发与运维工作奠定基础。
KingbaseES作为国产数据库的代表之一,其在安全性、兼容性、性能方面的优势,使其在国产化替代项目中具有广泛的应用前景。掌握其安装与配置,对于数据库管理员和系统工程师而言,是一项重要的技能。