金仓数据库 KingbaseES 安装指南(Linux 环境)

关于金仓数据库 KingbaseES
金仓数据库 KingbaseES 是中电科金仓信息技术股份有限公司自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分析类应用,可用做信息管理系统、业务及生产系统、决策支持系统、全文检索、地理信息系统等的承载数据库。
KingbaseES 支持多种操作系统和硬件平台:支持 Linux、Windows、国产 Kylin 等数十个操作系统产品版本,支持通用 x86_64 及国产龙芯、飞腾、申威等 CPU 硬件体系架构。
针对不同类型的客户需求,KingbaseES 提供标准版、企业版、专业版、开发版等多种版本。这些版本构建于同一数据库引擎上,不同平台版本完全兼容。
KingbaseES 软件能够提供一主一备以及一主多备的高可用集群架构,实现数据及实例级 (异地) 故障容灾,也能够提供多节点并行服务,内存融合及存储共享,实现高并发性能利用最大化,结合读写分离或备份使用同步实现数据保护最大化。
本文章主要介绍如何在 Linux 环境安装金仓数据库 KingbaseES。
安装包准备
可以通过金仓官网下载对应平台的安装程序。
在获得安装程序(iso 文件)的同时,应该会获得一个 MD5 值或 SHA1 值。
建议先通过以下命令查看安装程序文件对应的 MD5 值或 SHA1 值,再和拿到的 MD5 值或 SHA1 值进行比对。
如果一致,说明安装文件正常;如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。
假设拿到的安装包文件是 KingbaseES_V009R001C002B0014_Lin64_install.iso,查看其 MD5 值:
查看其 SHA1 值:
检查和配置环境
检查操作系统信息
通过以下命令查看操作系统信息:
注意:为避免安装失败,或安装结束后文件发生异常,请在安装前关闭操作系统的应用保护,或于安装时在操作系统界面手动点击允许程序执行。
检查系统内存与存储空间
通过以下命令查看内存信息(以 MB 单位显示):
通过以下命令查看磁盘存储信息(以 GB 单位显示):
注意: /tmp 目录需要至少 10G 空间。如果安装过程中出现存储空间不足的情况,请先释放足够的磁盘空间,再执行安装程序。如果硬件配置不满足要求,需要更换满足要求的硬件设备再进行安装。
配置内核参数
为了避免在 KingbaseES 安装和使用过程中出现问题,需要检查和设置内核参数。
内核参数参考内核参数查看命令(最新的系统,需参考系统的用户手册)检查内核参数。
内核参数查看命令

内核参数参考值参数

若内核参数与参考值不一致,您可通过编辑/etc/sysctl.conf 文件修改参数,如下所示:
内核参数修改完毕后,重启 Linux 系统,并输入如下命令查看内核参数的修改是否正确:
资源使用参数
Linux 资源限制配置文件是/etc/security/limits.conf。限制用户可使用的资源数量对系统的稳定性非常重要。您可以通过调整资源限制数量改进系统性能。
limits.conf 文件如下所示:

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

nofile、noproc、core 参数可修改为如下值:
RemoveIPC 参数
systemd-logind 服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的 IPC 对象。该特性由/etc/systemd/logind.conf 文件中的 RemoveIPC 参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有 redhat7 及以上和一些特殊的国产 Linux 的版本需要修改,改之前可先查看此项是否为默认 yes)。设置 RemoveIPC=no。设置后重启服务:
预安装工作
创建安装用户
在安装 KingbaseES 时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在 Linux 系统中,需要以非 root 用户执行安装程序,且该用户要有标准的 home 目录。
因此,在正式安装前,新建 kingbase 用户作为 KingbaseES 专用的系统用户,可以先使用 root 用户运行如下命令创建 kingbase 用户:
注意:创建安装系统用户 kingbase 之后,如无特殊说明,本指南后续的操作默认使用 kingbase 用户进行操作。该命令会同时创建同名用户组 kingbase 以及用户根目录/home/kingbase。继续运行如下命令设置 kingbase 用户的密码:
注意:密码需要输入两次,保证两次输入的密码相同。
安装目录
KingbaseES 默认的安装目录是 /opt/Kingbase/ES/V9 。
如果不存在,需要使用 root 用户先创建该目录,并赋予 kingbase 用户对该目录的读写权限。
也可以自定义安装路径。如自定义安装路径为 /home/kingbase/kdb ,使用 kingbase 用户创建目录的命令如下:
数据目录
数据目录是 KingbaseES 中存放数据文件的目录,默认是在安装目录下的 data 目录。也可以与安装目录分开单独设置。
可以根据业务系统数据量来单独设置数据目录路径,例如将数据目录初始化在本机硬盘或者挂载在盘阵上。
运行如下命令创建数据目录:
注意:数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。
安装包的挂载与取消
iso 格式的安装程序包需要先挂载才能使用。挂载 iso 文件需要使用 root 用户。比如挂载的目录是 iso 文件同级目录 KingbaseES,可以运行如下命令进行挂载:
KingbaseES 目录下可以看到 setup 目录和 setup.sh 脚本。安装完成后可以运行如下命令取消挂载 iso 文件:
此时 KingbaseES 已经和 iso 文件解除挂载关系,在 KingbaseES 目录下不会再看到安装相关文件。
安装
启动安装程序
命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置:
如果系统显示值包含“zh_CN”,则为中文语言,安装程序会显示中文内容。否则,可以执行如下命令修改语言设置为中文:
接下来开始进行命令行安装过程。您首先进入安装程序中 setup.sh 所在目录,以 kingbase 用户执行如下命令:
命令执行后,将会启动安装程序。

输入 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/V9。

可自行输入一个绝对路径作为安装目录。缺省直接按<ENTER>键,即为默认路径。
再次确认完整路径,输入 Y(不分大小写),按<ENTER>键继续。
预安装摘要
此步骤会看到即将安装产品的摘要信息。包括:
产品名称。
安装文件夹。
指定安装的功能组件。
安装路径所在磁盘空间信息。

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

正在安装
安装过程中会不断刷新安装进度。
如选择“完全安装”安装集,安装进度 100%之后,将至 初始化数据库 。
如选择“客户端安装”安装集,安装进度 100%之后,将至 安装完成 。
如选择“定制安装”安装集,并且选择安装数据库服务器组件,安装进度 100%之后,将至 初始化数据库 。
初始化数据库
首先选择数据库数据目录,默认数据库数据目录为安装目录下的 data 目录。
设置如下初始化数据库参数:
默认端口为:54321(可自定义)
默认账户为:system(可自定义)
密码(自定义)
默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030)
区域,可选值将随字符集编码选项发生变动。
当字符集编码为 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)
默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
默认大小写敏感为:是(可选否)
默认数据块大小为:8k(可选 16k、32k)
默认身份认证方法为 scram-sha-256(可选 scram-sm3,sm4,sm3)
自定义参数(自定义),可自由输入任何值,作为初始化数据库的参数
自定义特殊参数:(如果输入值包含以下某一项,请注意特殊情况)
-c:初始化生成的配置文件会被加密,此时设置的端口值不会在初始化阶段进行修改,启动 KingbaseES 服务时将使用默认端口值 54321。
注意:输入的参数值不能包含-W,--pwprompt,%和 $。
安装完成
若安装过程中没有出现任何警告或错误,将显示如下界面。

按<ENTER>键退出安装程序。最后建议重启以完成全部的安装。
执行 root.sh
如果想注册数据库服务为系统服务,可以在安装并初始化数据库成功后,执行 root.sh 脚本来注册并启动数据库服务,具体步骤如下:
打开新终端;
切换到 root 用户;
运行 ${安装目录}/install/script/root.sh 。
如果想启动或停止数据库服务,进入 ${安装目录}/Server/bin 目录执行如下命令:
安装后检查
在安装完成后,可以通过以下几种方式进行安装正确性验证:
查看安装日志
在 ${安装目录}/Logs 目录下,存在名称为 "install.log" 的日志文件,其中记录了安装过程的所有信息。
可以打开日志文件,查看如下所示安装结果信息判断是否安装正确。

查看开始菜单
查看应用程序菜单中是否安装了 KingbaseES 菜单项,并且正确关联到对应的程序。开始菜单结构如下:
KingbaseES
帮助
数据库开发管理工具
数据迁移工具
数据库部署工具
迁移评估工具
web 版数据库开发管理工具
异构数据比对工具
异构数据同步服务
卸载
查看安装目录
数据库安装完成后,进入安装目录,使用 ll 或者 ls -l 列出数据库安装后生成的目录和文件,下面列出主要文件和目录清单。由于安装的组件不同,对应生成的文件目录也有所不同,请以实际的安装为准。
KESRealPro 目录下按版本号放置不同版本的程序内容。安装根目录下的其他目录和文件都是软连接,实际指向 KESRealPro 下具体版本的对应目录或文件。
Server:软连接,对应目录存放了服务器二进制文件,链接文件等。
Server/bin:服务器二进制文件,可以在该路径下进行启动服务、连接数据库、物理备份还原、逻辑备份还原等操作。
ClientTools:软连接,对应目录存放了客户端工具依赖的可执行二进制文件、链接文件等。
ClientTools/guitools/KStudio:开发管理工具,能运行在各种平台的图形工具,用于管理和配置 KingbaseES 数据库服务器,管理各种 KingbaseES 数据库对象,进行 KingbaseES 数据库的安全管理,调用查询分析器执行和测试 SQL 语句。
ClientTools/guitools/KDts:数据库迁移工具,可以用于跨平台数据交换和迁移,支持同异构数据源之间的数据迁移。该目录下存放了迁移工具的相关程序和配置文件。
ClientTools/guitools/DeployTools:集群部署工具,用于远程部署集群节点服务。该目录存放了集群部署工具相关的程序和配置文件。
注意:ClientTools/guitools/ManagerTools:对象管理工具,功能与开发管理工具一致。在申威平台上使用。
Interface:软连接,对应目录存放了各类应用程序开发接口程序包。
KingbaseHA:软连接,对应目录存放了高可用集群组件相关程序和配置文件。
SupTools:软连接,对应目录下存放了巡检工具相关脚本和配置文件。
install:软连接,对应目录存放了安装过程中依赖和使用的各类文件。
install/script:该目录下存放了安装和卸载过程中使用的脚本。
install/LICENSE.EN:英文许可协议。
install/LICENSE.ZH:中文许可协议。
doc:软连接,对应目录包含各类帮助手册。
Uninstaller:软连接,对应目录包含卸载程序的相关文件。
license.dat:软连接,执行安装时使用的认证许可证书。
KESRealPro:实际安装目录,下一级为版本号命名的目录,再下一级为 Server、doc、ClientTools、Interface、install、SupTools、Uninstall、license.dat、KingbaseHA,对应上述各软连接的实际目录。
data:初始化数据库生成的数据目录。
验证工具是否能连接数据库
可以使用交互式终端工具(ksql)连接数据库。进入 ${安装目录}/Server/bin 目录,执行如下命令:
-p 参数指定初始化数据库时设置的端口。-U 参数指定初始化数据库时设置的管理员用户,也可以是其他用户。
查看已安装数据库的版本信息
进入 ${安装目录}/Server/bin 目录,执行
或在交互式终端(ksql)中执行
解决缺库问题
如果安装机器操作系统缺少必要的 so 库文件,您可通过如下命令查看到有缺少 so 库文件的情况。在 ${安装目录}/Server/bin 目录下执行:
在 ${安装目录}/Server/lib 下,执行如下命令检查是否存在缺少的 so 库文件:
若检查到 ${安装目录}/Server/lib 下存在缺少的 so 库文件,则在 ${安装目录}/Server/lib 下,执行
版权声明: 本文为 InfoQ 作者【金仓技术】的原创文章。
原文链接:【http://xie.infoq.cn/article/3f0eb353d17b80575f947bf12】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论