从内核调优到集群部署:基于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 值:

sql 复制代码
md5sum KingbaseES_V009R002C010_Lin64_install.iso

查看其 SHA1 值:

sql 复制代码
sha1sum KingbaseES_V009R002C010_Lin64_install.iso
4、检查和配置环境

【检查操作系统信息】

我们可以通过以下命令查看操作系统信息:

bash 复制代码
cat /etc/*release

注意: 为避免安装失败,或安装结束后文件发生异常,请在安装前关闭操作系统的应用保护,或于安装时在操作系统 界面手动点击允许程序执行。

【检查系统内存与存储空间】

我们可以通过以下命令查看内存信息(以 MB 单位显示):

bash 复制代码
free -m

可以通过以下命令查看磁盘存储信息(以 GB 单位显示):

bash 复制代码
df -hl

注意:/tmp 目录需要至少 10G 空间。如果安装过程中出现存储空间不足的情况,请先释放足够的磁盘空间,再执 行安装程序。如果硬件配置不满足要求,需要更换满足要求的硬件设备再进行安装。

【配置内核参数】

编辑 /etc/sysctl.conf,设置如下参数:

bash 复制代码
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

执行以下命令使配置生效:

bash 复制代码
sudo sysctl -p

【配置资源限制】

编辑 /etc/security/limits.conf,设置如下:

bash 复制代码
* soft nofile 65536
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited

【关闭RemoveIPC】

编辑 /etc/systemd/logind.conf,设置:

bash 复制代码
RemoveIPC=no

重启服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart systemd-logind
5、创建安装用户

KingbaseES不建议使用root用户安装,应创建专用用户:

bash 复制代码
sudo useradd -m kingbase
sudo passwd kingbase
6、准备安装目录
bash 复制代码
sudo mkdir -p /opt/Kingbase/ES/V9
sudo chown kingbase:kingbase /opt/Kingbase/ES/V9

或使用自定义路径:

bash 复制代码
su - kingbase
mkdir /home/kingbase/kdb
7、挂载安装包
bash 复制代码
sudo mount KingbaseES_V009R002C010_Lin64_install.iso /mnt/kingbase
cd /mnt/kingbase

第二章:安装KingbaseES

KingbaseES支持三种安装方式:图形化安装、命令行安装和静默安装。下面分别详细介绍。

1、图形化安装

【启动安装程序】

确保系统语言设置为中文(如需要):

bash 复制代码
export LANG=zh_CN.UTF-8
sh setup.sh

或显式指定图形模式:

bash 复制代码
sh setup.sh -i swing

选择"安装新的实例"开始安装。

【安装步骤简介】

安装流程包括:

  1. 许可协议:必须接受方可继续。

  2. 选择安装集

    • 完全安装:所有组件

    • 客户端安装:仅客户端工具和接口

    • 定制安装:自定义组件

  3. 选择授权文件:可选择试用或正式License。

  4. 选择安装目录 :默认 /opt/Kingbase/ES/V9

  5. 预安装摘要:确认安装信息。

  6. 安装过程:等待进度完成。

  7. 初始化数据库:设置端口、用户名、密码、字符集等。

  8. 安装完成 :提示执行 root.sh 注册服务。

【初始化数据库参数示例】

  • 端口:54321

  • 用户名:system

  • 密码:自定义

  • 字符集:UTF8

  • 区域:zh_CN.UTF-8

  • 大小写敏感:是

  • 数据块大小:8k

  • 身份认证方法:scram-sha-256

【注册系统服务】

安装完成后,以root身份执行:

bash 复制代码
/opt/Kingbase/ES/V9/install/script/root.sh

启动/停止服务命令:

bash 复制代码
# 启动
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、命令行安装

适用于无图形界面的服务器环境。

【启动安装】

bash 复制代码
export LANG=zh_CN.UTF-8
sh setup.sh -i console

【安装流程】

  1. 选择"安装新的实例"

  2. 阅读并接受许可协议

  3. 选择安装集(完全/客户端/定制)

  4. 选择组件(如为定制安装)

  5. 指定License文件路径

  6. 设置安装目录

  7. 确认预安装摘要

  8. 开始安装

  9. 初始化数据库(如安装Server组件)

【初始化参数设置示例】

在命令行中依次设置:

  • 端口:54321

  • 用户名:system

  • 密码:******

  • 字符集:UTF8

  • 区域:zh_CN.UTF-8

  • 认证方式:scram-sha-256

  • 大小写敏感:YES

  • 块大小:8k

3、静默安装

适用于批量部署或自动化脚本。

【准备配置文件】

复制并编辑静默安装模板:

bash 复制代码
cp /mnt/kingbase/setup/silent.cfg /home/kingbase/silent_install.cfg

编辑 silent_install.cfg,示例内容如下:

bash 复制代码
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

【执行安装】

bash 复制代码
sh setup.sh -i silent -f /home/kingbase/silent_install.cfg

【查看安装结果】

查看安装日志:

bash 复制代码
tail -f /opt/Kingbase/ES/V9/install/Logs/KingbaseES_V9_安装__*.log

第三章:安装后检查

1、查看安装日志

日志路径:${安装目录}/install/Logs/KingbaseES_V9_安装__*.log

2、验证数据库连接

使用 ksql 连接测试:

bash 复制代码
cd /opt/Kingbase/ES/V9/Server/bin
./ksql -p 54321 -U system test
3、查看版本信息
bash 复制代码
./kingbase -V

或在ksql中执行:

sql 复制代码
SELECT version();
4、检查依赖库
bash 复制代码
cd /opt/Kingbase/ES/V9/Server/bin
ldd * | grep "not found"

如有缺失,可设置 LD_LIBRARY_PATH

bash 复制代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Kingbase/ES/V9/Server/lib

第四章:增删组件

1、图形化方式

进入安装目录,执行:

bash 复制代码
sh setup.sh

选择"修改存在的实例",然后选择"添加功能"或"删除功能"。

2、命令行方式
bash 复制代码
sh setup.sh -i console

选择"修改存在的实例",然后选择添加或删除功能。


第五章:卸载KingbaseES

1、删除系统服务

如已注册服务,先卸载:

bash 复制代码
sudo /opt/Kingbase/ES/V9/install/script/rootuninstall.sh
2、图形化卸载
bash 复制代码
cd /opt/Kingbase/ES/V9/Uninstall
sh Uninstaller -i swing
3、命令行卸载
bash 复制代码
sh Uninstaller -i console
4、静默卸载
bash 复制代码
sh Uninstaller -i silent

第六章:常见问题与解决方法

1、开始菜单无快捷方式

将安装目录下的 .desktop 文件拷贝到用户 applications 目录:

bash 复制代码
cp /opt/Kingbase/ES/V9/install/desktops/* /home/kingbase/.local/share/applications/
2、图形界面无法启动

检查SSH配置:

bash 复制代码
sudo vim /etc/ssh/sshd_config

确保有以下设置:

bash 复制代码
X11Forwarding yes

重启SSH服务:

bash 复制代码
sudo systemctl restart sshd
3、中英文显示混乱

设置系统语言为中文:

bash 复制代码
export LANG=zh_CN.UTF-8
4、安装时提示无权限

避免使用root用户直接安装,应使用kingbase用户,并确保其对安装目录有读写权限。

5、初始化数据库失败

若提示缺少共享库,设置 LD_LIBRARY_PATH

bash 复制代码
export LD_LIBRARY_PATH=/opt/Kingbase/ES/V9/Server/lib:$LD_LIBRARY_PATH
6、Java虚拟机内存不足

调整JVM内存设置:

bash 复制代码
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作为国产数据库的代表之一,其在安全性、兼容性、性能方面的优势,使其在国产化替代项目中具有广泛的应用前景。掌握其安装与配置,对于数据库管理员和系统工程师而言,是一项重要的技能。

相关推荐
EnCi Zheng3 小时前
JPA 连接 PostgreSQL 数据库完全指南
java·数据库·spring boot·后端·postgresql
Raymond运维3 小时前
MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
linux·数据库·mysql
夜月yeyue3 小时前
ART 加速器、流水线与指令预测的关系详解
linux·服务器·c语言·单片机·嵌入式硬件·性能优化·嵌入式高阶技巧
---学无止境---3 小时前
Linux中select的实现
linux
bst@微胖子3 小时前
Harmony中EventHub实现发布订阅
linux·运维·ubuntu
爱奥尼欧4 小时前
【Linux】系统部分——线程安全与线程的单例模式
linux·安全·单例模式
他们叫我技术总监4 小时前
Oracle数据库常见问题实战:从连接错误到自动清理空闲会话
数据库·oracle
尹蓝锐6 小时前
在学校Linux服务器上配置go语言环境
linux·运维·服务器
菲兹园长6 小时前
MySql(SQL)
数据库·sql·mysql