人大金仓KingbaseES:银河麒麟V10安装

发布于:2024-03-06 ⋅ 阅读:(430) ⋅ 点赞:(0)

人大金仓KingbaseES:银河麒麟V10安装

众所周知的原因,为了响应国家信创支持国产操作系统和数据库,现在我们公司的项目要从开源数据库PostgreSQL切换到人大金仓KingbaseES数据库(本质是早期版本的PostgreSQL)。使用的是国产操作系统银河麒麟V10版本,之前介绍过这里就不赘述了。

以下内容来自人大金仓官网

集成PostGIS的安装包下载地址在文章最下面,有需要的可直接跳过中间内容。

产品简介

金仓数据库管理系统[简称:KingbaseES]是北京人大金仓信息技术股份有限公司(简称人大金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分析类应用,可用做信息管理系统、业务及生产系统、决策支持系统、全文检索、地理信息系统等的承载数据库。

安装前准备

硬件环境要求

KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏等国产CPU硬件体系架构。

版本 要求
标准版/企业版/专业版/开发版 CPU:X86、龙芯、飞腾、鲲鹏内存:512MB以上硬盘:10GB以上空闲空间

软件环境要求

KingbaseES支持各种主流的Linux操作系统64位发行版本,包括CentOS、中标麒麟、银河麒麟、统信UOS、Deepin、凝思、中科方德等操作系统。

检查和配置环境

检查操作系统信息

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

cat /etc/*release

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

检查系统内存与存储空间

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

free -m

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

df -hl

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

配置内核参数

为了避免在KingbaseES安装和使用过程中出现问题,您需要检查和设置内核参数。

  • 内核参数

您可以参考内核参数查看命令(最新的系统,需参考系统的用户手册)检查内核参数。

参数 查看命令
semmsl, semmns, semopm, and semmni # /sbin/sysctl -a | grep sem
shmall, shmmax, and shmmni # /sbin/sysctl -a | grep shm
file-max # /sbin/sysctl -a | grep file-max
ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range
rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max # /sbin/sysctl -a | grep wmem_max
aio-max-nr # /sbin/sysctl -a | grep aio-max-nr
tcp_wmem # /sbin/sysctl -a | grep tcp_wmem
tcp_rmem # /sbin/sysctl -a | grep tcp_rmem
参数 参考值 所在文件
semmsl 250 /proc/sys/kernel/sem
semmns 32000
semopm 100
semmni 128
shmall 2097152 /proc/sys/kernel/shmall
shmmax 最小: 536870912最大: 物理内存值减去1字节建议: 大于物理内存的一半 /proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
file-max 6815744 /proc/sys/fs/file-max
aio-max-nr 1048576注意: 本参数限制并发发出 的请求数量。应该设置以避免IO 子系统的失败。 /proc/sys/fs/aio-max-nr
ip_local_port_range 最小: 9000最大: 65500 /proc/sys/net/ipv4/ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max

若内核参数与参考值不一致,您可通过编辑/etc/sysctl.conf文件修改参数,如下所示:

fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
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

内核参数修改完毕后,重启Linux系统,并输入如下命令查看内核参数的修改是否正确:

/sbin/sysctl -p
/sbin/sysctl -a
  • 资源使用参数

Linux资源限制配置文件是/etc/security/limits.conf。限制用户可使用的资源数量对系统的稳定性非常重要。您可以通过调整资源限制数量改进系统性能。limits.conf文件如下所示:

limits.conf配置文件

其中soft是一个警告值,hard是真正意义的阈值,超过系统就会报错,一般情况下两者设为同一个值。一般保持系统安装时的默认值即可。可配置的资源有如下种类:

资源项 含义
core 内核文件大小(KB)
data 最大数据大小(KB)
fsize 最大文件大小(KB)
memlock 最大锁定内存地址空间(KB)
nofile 最大打开的文件描述符数量
rss 最大持久设置大小(KB)
stack 最大堆栈大小(KB)
cpu 最大CPU时间(分钟)
noproc 最大进程数量
as 地址空间限制(KB)
maxlogins 用户最大登录次数
maxsyslogins 系统上登录的最大数量
priority 运行用户进程的优先级
locks 用户可持有的最大文件锁数量
sigpending 最大挂起的信号数量
msgqueue POSIX消息队列使用的最大内存(字节)
nice 最大可提升到的合适优先级
rtprio 最大实时优先级

nofile、noproc、core参数可修改为如下值:

# *表示所有用户,可只设置root和kingbase用户
* soft nofile 65536
# 注意:设置nofile的hard limit不能大于/proc/sys/fs/nr_open,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited表示无限制
* soft core unlimited
* hard core unlimited
  • RemoveIPC参数

systemd-logind服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的IPC对象。该特性由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有redhat7及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes)。设置RemoveIPC=no。 设置后重启服务:

systemctl daemon-reload
systemctl restart systemd-logind.service

预安装工作

在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。

因此,建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,您可以先使用root用户运行如下命令创建kingbase用户:

useradd -m kingbase

注意

创建安装系统用户kingbase之后,如无特殊说明,本指南后续的操作默认使用kingbase用户进行操作。

该命令会同时创建同名用户组kingbase以及用户根目录/home/kingbase。继续运行如下命令设置kingbase用户的密码:

passwd kingbase

密码需要输入两次,保证两次输入的密码相同。

安装目录

KingbaseES默认的安装目录是 /opt/Kingbase/ES/V8 。如果不存在,您需要使用root用户先创建该目录,并赋予kingbase用户对该目录的读写权限。

mkdir -p /opt/Kingbase/ES/V8
chmod o+rwx /opt/Kingbase/ES/V8
chown -R kingbase:kingbase /opt/Kingbase/ES/V8

也可以自定义安装路径。如自定义安装路径为 /home/kingbase/kdb ,使用kingbase用户创建目录的命令如下:

su - kingbase
mkdir /home/kingbase/kdb
数据目录

数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。也可以与安装目录分开单独设置。您可以根据业务系统数据量来单独设置数据目录路径,例如将数据目录初始化在本机硬盘或者挂载在盘阵上。 您可以运行如下命令创建数据目录:

mkdir /opt/Kingbase/ES/V8/data

数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。

安装包的挂载与取消

iso格式的安装程序包需要先挂载才能使用。挂载iso文件需要使用root用户。比如挂载的目录是iso文件同级目录KingbaseES,您可以运行如下命令进行挂载:

#cd KingbaseES_V008R006C005B0041_Lin64_install.iso所在目录
su
mount KingbaseES_V008R006C005B0041_Lin64_install.iso ./KingbaseESV8

KingbaseES目录下可以看到setup目录和setup.sh脚本。安装完成后您可以运行如下命令取消挂载iso文件:

su
umount ./KingbaseESV8

此时KingbaseES已经和iso文件解除挂载关系,您在KingbaseES目录下不会再看到安装相关文件。

开始安装

整体的安装流程如下图所示。

安装流程

启动安装程序

命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置:

echo $LAN

如果系统显示值包含“zh_CN”,则为中文语言,安装程序会显示中文内容。否则,您可以执行如下命令修改语言设置为中文:

export LANG=zh_CN.UTF-8

接下来开始进行命令行安装过程。您首先进入安装程序中setup.sh所在目录,以kingbase用户执行如下命令:

sh setup.sh -i console

命令执行后,将会启动安装程序。

启动安装程序

您输入1,再按ENTER,选择“安装新的实例”;

您输入2,再按ENTER,选择“修改存在的实例”。

初次安装,输入1,按ENTER,进入“简介”界面。

简介

“简介”界面中提供了KingbaseES版本和安装程序版本等信息。

简介

输入quit,按ENTER退出安装;

输入back,按ENTER返回前一屏幕;

直接按ENTER进行下一步操作。

若无特殊说明,以下各步骤皆与此相同。

许可协议

在此步骤您需要阅读完整的许可协议。连续按ENTER翻页阅读直到结束。

许可协议

您输入Y(不分大小写)表示接受此许可协议条款。

您输入N(不分大小写)表示不接受此许可协议条款,输入其他无效。

若不接受,则会提示警告信息,无法继续安装,提示用户重新选择。

选择安装集

根据安装后数据库服务功能的不同,KingbaseES可分为完全安装、客户端安装和定制安装三种安装集。

  • 完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
  • 客户端安装:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
  • 定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。

您输入1,或按ENTER接受缺省项,选择“完全安装”安装集,系统将安装KingbaseES所有组件,跳至 选择授权文件

您输入2,选择“客户端安装”安装集,系统将安装KingbaseES的所有客户端工具、编程接口、扩展插件以及命令行可执行二进制文件,跳至 选择安装文件夹

您输入3,选择“定制安装”安装集,可根据需求选择安装所需功能组件,将进入下一步 选择产品功能组件

选择安装集

选择产品功能组件

如选择定制安装的安装集,您需要继续选择产品功能组件。

选择产品功能部件

输入 不需要安装 的功能组件的序号,并以逗号分隔。

输入“?<号码>”,可查看该功能部件的说明。

这里选择的是 不需要安装 的组件。如果全部安装,则不需要输入,点击ENTER继续下一步。

选择授权文件

此步骤用于选择授权文件,若指定的授权文件合法,则将显示授权文件的详细信息。

选择授权文件

您输入授权文件的绝对路径后,按ENTER以检查授权文件,若授权文件有效,则进入下一步骤。

选择安装文件夹

此步骤用于选择安装路径。默认安装路径是/opt/Kingbase/ES/V8。

选择安装文件夹

您可自行输入一个绝对路径作为安装目录。缺省直接按ENTER键,即为默认路径。

再次确认完整路径,输入Y(不分大小写),按ENTER键继续。

预安装摘要

您在此步骤会看到即将安装产品的摘要信息。包括:

  • 产品名称。
  • 安装文件夹。
  • 指定安装的功能组件。
  • 安装路径所在磁盘空间信息。

预安装摘要

安装确认

您在此步骤进行安装确认。按ENTER键系统开始执行安装过程。

安装确认

正在安装

安装过程中会不断刷新安装进度。

如选择“完全安装”安装集,安装进度100%之后,将至 初始化数据库

如选择“客户端安装”安装集,安装进度100%之后,将至 安装完成

如选择“定制安装”安装集,并且选择安装数据库服务器组件,安装进度100%之后,将至 初始化数据库

正在安装

初始化数据库

首先选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。

选择数据库目录

设置如下初始化数据库参数:

  • 默认端口为:54321(可自定义)
  • 默认账户为:system(可自定义)
  • 密码(自定义)
  • 默认字符集编码为:UTF8(可选GBK、GB18030)
  • 默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
  • 默认大小写敏感为:是(可选否)
  • 默认数据块大小为:8k(可选16k、32k)
  • 默认加密方法为sm4(可选 rc4)
  • 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)

端口

账户

密码

编码

模式

大小写敏感

存储块

加密方法

身份认证方法

初始化

安装完成

若安装过程中没有出现任何警告或错误,将显示如下界面。

安装完成

按ENTER键退出安装程序。

执行root.sh

如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:

  1. 打开新终端;
  2. 切换到root用户;
  3. 运行${安装目录}/install/script/root.sh 。

如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:

#启动服务
sys_ctl -w start -D ${Data文件目录} -l "${Data文件目录}/sys_log/startup.log"
sys_ctl -w start -D /opt/Kingbase/ES/V8/data -l "/opt/Kingbase/ES/V8/data/sys_log/startup.log"
#停止服务
sys_ctl stop -m fast -w -D ${Data文件目录}
sys_ctl stop -m fast -w -D /opt/Kingbase/ES/V8/data

修改用户密码

cd  /opt/Kingbase/ES/V8/Server/bin

./ksql -p 54321 -U system test

ALTER USER system WITH PASSWORD 'Zykj@405406';

安装后检查

查看安装日志

在${安装目录}/Logs目录下,存在名称为 “install.log” 的日志文件,其中记录了安装过程的所有信息。您可以打开日志文件,查看如下所示安装结果信息判断是否安装正确。

安装日志

查看开始菜单

查看应用程序菜单中是否安装了KingbaseES菜单项,并且正确关联到对应的程序。开始菜单结构如下:

KingbaseES

  • 帮助
  • 数据库开发管理工具
  • 数据迁移工具
  • 数据库部署工具
  • 迁移评估工具
  • web版数据库开发管理工具
  • 异构数据比对工具
  • 异构数据同步服务
  • 卸载

验证工具是否能连接数据库

您可以使用交互式终端工具(ksql)连接数据库。进入${安装目录}/Server/bin目录,执行如下命令:

./ksql -p 54321 -U system test

-p参数指定初始化数据库时设置的端口。-U参数指定初始化数据库时设置的管理员用户,也可以是其他用户。

如果ksql能够正常连接数据库服务,则说明数据库安装正常。。

查看已安装数据库的版本信息

进入${安装目录}/Server/bin目录,执行

./kingbase –V;

或在交互式终端(ksql)中执行

select version();

解决缺库问题

如果安装机器操作系统缺少必要的so库文件,您可通过如下命令查看到有缺少so库文件的情况。在${安装目录}/Server/bin目录下执行:

ldd * | grep "not found"

在${安装目录}/Server/lib下,执行如下命令检查是否存在缺少的so库文件:

ls

若检查到安装目录/Server/lib下存在缺少的so库文件,则在安装目录/Server/lib下存在缺少的so库文件,则在{安装目录}/Server/lib下,执行

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`

卸载KingbaseES

删除数据库服务

如果在安装后执行root.sh脚本在系统中注册了数据库服务,需要在卸载前执行rootuninstall.sh脚本删除已注册的数据库服务。具体步骤如下:

  1. 打开新终端;
  2. 切换到root用户;
  3. 运行${安装目录}/install/script/rootuninstall.sh 。

控制台卸载

启动卸载

您以kingbase用户登录系统后,进入${安装目录}/Uninstall目录,执行如下命令,启动卸载程序。

sh Uninstaller -i console
准备卸载

准备卸载

输入quit再按ENTER退出卸载过程;直接按ENTER继续进行下一步。若无特殊说明,以下各步骤皆与此相同。

正在卸载

此步骤用于显示卸载进度。

正在卸载

完成卸载

对于初始化生成的文件或程序运行中生成的文件,卸载过程当中无法自动删除,请退出卸载程序后手动删除。

完成卸载

增删组件

整体操作流程如下图所示。

增删组件流程

首先您要进入安装程序中setup.sh所在目录,以kingbase用户执行如下命令:

sh setup.sh -i console

命令执行后,将会启动安装程序。

启动安装程序

输入2,选择“修改存在的实例”,按ENTER继续;

选择要修改的实例,按回车键;

输入1,选择“添加功能”,按ENTER继续添加功能的操作。

选择功能组件

选择功能组件

按照提示按ENTER,显示可以添加的组件列表。输入 不需要安装 的组件编号,多个编号用逗号隔开。按ENTER开始安装。

注意

这里选择的是 不需要安装 的组件。如果全部安装,则不需要输入,按回车键继续下一步。

安装进度

安装进度

此步骤用于显示安装进度。如果选择的组件包含数据库服务器,则后续会继续选择授权文件、初始化数据库步骤。

完成安装

安装进度

若安装过程中没有出现任何警告或错误,安装完成后提示按ENTER退出安装程序。

删除组件

当需要删除数据库某项组件而非数据库系统时,您可以通过数据库删除功能来进行维护。

启动入口

以kingbase用户登录系统后,进入${安装目录}/Uninstall目录,执行如下命令,启动卸载程序。

sh Uninstaller -i console

命令执行后,将会启动安装程序。

启动安装程序

输入2,按回车键,选择“修改存在的实例”;

选择要修改的实例,按回车键;

输入2,选择“删除功能”,按ENTER继续删除功能的操作。

选择功能组件

选择功能组件

显示已经安装的组件列表。输入需要删除的组件编号,多个编号用逗号隔开。按ENTER开始删除。

删除及完成

正在移除

此步骤用于显示删除进度。删除完成后自动退出安装程序。

设置PostGIS

创建数据库

 create database gis;

切换到gis数据库

\c gis

image-20240304200313462

查看当前数据库的扩展模块

\dx

image-20240304200418621

查看有哪些可加载的扩展模块

SELECT * FROM pg_available_extensions;

image-20240304200522672

创建postgis扩展

create extension postgis;

报错:缺少依赖

image-20240304200718851

缺少的依赖在/opt/Kingbase/ES/V8/Server/lib目录下的postgis_libs中

image-20240304201011442

image-20240304201031123

复制一份到上一层lib目录下即可:

 cp libgmp.so.10 ../

再次创建postgis,如下所示就成功了

image-20240304201258183

image-20240304201349908

下载地址

失效了和我说

链接:https://pan.baidu.com/s/1-a-7SzTGEb6oGY_r7ZBYDA
提取码:0003

本文含有隐藏内容,请 开通VIP 后查看

微信公众号

今日签到

点亮在社区的每一天
去签到