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

相关推荐
梦Arrebol10 小时前
Redis 内容及相关实验
数据库·redis
宵时待雨10 小时前
linux笔记归纳17:传输层协议UDP
linux·笔记·udp
大模型码小白10 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
SCandL15211 小时前
k8s service
linux·容器·kubernetes
DBA大董12 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀12 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
ManageEngineITSM13 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL13 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql
Elastic 中国社区官方博客13 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch