环境:x86_64
系统:centos7.9
数据库–版本:KingbaseES_V008R006C008B0014_Lin64_install
授权文件–版本:V008R006-license-企业版-90天
一 前置要求
1.1. 硬件环境要求
KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏等国产CPU硬件体系架构。
版本 | 要求 |
---|---|
标准版/企业版/专业版/开发版 | CPU:X86、龙芯、飞腾、鲲鹏 |
内存:512MB以上 | |
硬盘:10GB以上空闲空间 |
1.2. 软件环境要求
KingbaseES支持各种主流的Linux操作系统64位发行版本,包括CentOS、中标麒麟、银河麒麟、统信UOS、Deepin、凝思、中科方德等操作系统。
1.3. 检查和配置环境
1.3.1. 检查操作系统信息
您可以通过以下命令查看操作系统信息:
cat /etc/*release
注意
为避免安装失败,或安装结束后文件发生异常,请在安装前关闭操作系统的应用保护,或于安装时在操作系统界面手动点击允许程序执行。
1.3.2. 检查系统内存与存储空间
您可以通过以下命令查看内存信息(以MB单位显示):
free -m
您可以通过以下命令查看磁盘存储信息(以GB单位显示):
df -hl
注意: /tmp目录需要至少10G空间。如果安装过程中出现存储空间不足的情况,请先释放足够的磁盘空间,再执行安装程序。如果硬件配置不满足要求,需要更换满足要求的硬件设备再进行安装。
1.3.3. 配置内核参数
为了避免在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文件如下所示:
其中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
1.4. 预安装工作
1.4.1. 创建安装用户
在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。
因此,建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,您可以先使用root用户运行如下命令创建kingbase用户:
useradd -m kingbase
注意
创建安装系统用户kingbase之后,如无特殊说明,本指南后续的操作默认使用kingbase用户进行操作。
该命令会同时创建同名用户组kingbase以及用户根目录/home/kingbase。继续运行如下命令设置kingbase用户的密码:
passwd kingbase
注意
密码需要输入两次,保证两次输入的密码相同。
1.4.2. 安装目录
KingbaseES默认的安装目录是 /opt/Kingbase/ES/V8 。如果不存在,您需要使用root用户先创建该目录,并赋予kingbase用户对该目录的读写权限。
mkdir -p /opt/Kingbase/ES/V8
chmod o+rwx /opt/Kingbase/ES/V8
也可以自定义安装路径。如自定义安装路径为 /home/kingbase/kdb ,使用kingbase用户创建目录的命令如下:
su - kingbase
mkdir /home/kingbase/kdb
1.4.3. 数据目录
数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。也可以与安装目录分开单独设置。您可以根据业务系统数据量来单独设置数据目录路径,例如将数据目录初始化在本机硬盘或者挂载在盘阵上。 您可以运行如下命令创建数据目录:
mkdir /opt/Kingbase/ES/V8/data
注意
数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。
1.4.4. 安装包的挂载与取消
iso格式的安装程序包需要先挂载才能使用。挂载iso文件需要使用root用户。比如挂载的目录是iso文件同级目录KingbaseES,您可以运行如下命令进行挂载:
#cd KingbaseES_V008R006C008B0014_Lin64_install.iso所在目录
su
mount KingbaseES_V008R006C008B0014_Lin64_install.iso ./KingbaseESV8
KingbaseES目录下可以看到setup目录和setup.sh脚本。安装完成后您可以运行如下命令取消挂载iso文件:
su
umount ./KingbaseESV8
此时KingbaseES已经和iso文件解除挂载关系,您在KingbaseES目录下不会再看到安装相关文件。
二 安装
2.1. 图形化安装
2.1.1. 启动安装程序
图形化安装支持中文和英文的安装界面。根据操作系统的语言设置会显示对应语言的安装界面。您可以执行如下命令查看操作系统的语言设置:
echo $LANG
如果系统显示值包含“zh_CN”,则为中文语言,安装程序会使用中文界面。否则,您可以执行如下命令修改语言设置为中文:
export LANG=zh_CN.UTF-8
接下来您就可以开始进行KingbaseES的安装了。首先切换为安装用户kingbase,进入安装程序setup.sh所在目录,执行如下命令:
sh setup.sh
或
sh setup.sh -i swing
如果当前操作系统中已存在KingbaseES,执行启动命令后将弹出KingbaseES安装程序窗口【实例管理页】。
选择【安装新的实例】,点击【确认】,开始安装KingbaseES。点击【取消】按钮则退出本次安装。
如果您想在已安装实例上增加或删除功能,则可以选择【修改存在的实例】,具体参见 图形化增删组件 。
点击【下一步】按钮,继续本次安装。
2.1.2. 许可协议
图 2.1.17 许可协议
默认“我接受许可协议条款”的选择框未选中,【下一步】按钮置灰。
当且仅当选择“我接受许可协议条款”后,【下一步】按钮有效。
若点击【取消】按钮,将弹出取消安装提示窗口,点击【退出】按钮,退出安装程序。
若点击【继续】,则回到安装界面,继续安装。
2.1.3. 选择安装集
根据安装后数据库服务功能的不同,KingbaseES可分为完全安装、客户端安装和定制安装三种安装集。
- 完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 客户端安装:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。
您如果选择“完全安装”安装集,系统将安装KingbaseES所有组件,点击【下一步】,至 选择授权文件 。
您如果选择“客户端安装”安装集,系统将安装KingbaseES的所有客户端工具和编程接口,点击【下一步】,至 选择安装文件夹 。
您如果选择“定制安装”安装集,则根据需求选择安装所需功能部件,点击【下一步】,至 选择产品功能组件 。
2.1.4. 选择产品功能组件
如选择“定制安装”的安装集,您通过点击功能组件项选择或去除对应的组件。如果要安装集群节点上的数据库服务,必须要安装“数据库部署工具”。点击【下一步】,继续安装。
2.1.5. 选择授权文件
您在本步骤需要选择授权文件,点击【选择】按钮以选择本机上的授权文件。
若指定的授权文件合法,则将显示授权文件的详细信息。
进入该步骤【下一步】按钮默认置灰,若授权文件通过验证,则【下一步】按钮有效。
2.1.6. 选择安装文件夹
此步骤用于选择安装路径。默认安装路径为: /opt/Kingbase/ES/V8。
您点击【选择】按钮,弹出文件选择对话框,可选择其他安装路径。
点击【恢复缺省文件夹】按钮,将安装路径恢复为默认安装路径。
点击【下一步】按钮,继续安装。
2.1.7. 预安装摘要
您在此步骤会看到即将安装产品的摘要信息,包括:
- 产品名称。
- 安装文件夹。
- 指定安装的功能组件。
- 安装路径所在磁盘空间信息。
图 2.1.23 预安装摘要
2.1.8. 正在安装
您点击【安装】按钮后,系统开始安装KingbaseES,安装过程不断刷新安装进度。
如选择“完全安装”安装集,安装进度100%之后,将至 初始化数据库 。
如选择“客户端安装”安装集,安装进度100%之后,将至 安装完成 。
如选择“定制安装”安装集,并选择安装了数据库服务器组件,安装进度100%之后,将至 初始化数据库 。
2.1.9. 初始化数据库
首先选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。
图 2.1.25 选择数据目录
您点击【选择】按钮,弹出文件选择对话框,选择自定义数据目录。
您点击【恢复缺省文件夹】按钮,将数据目录恢复为默认的数据目录。
点击【下一步】按钮,继续设置如下初始化数据库参数:
- 默认端口为:54321(可自定义)
- 默认账户为:system(可自定义)
- 密码(自定义)
- 默认字符集编码为:UTF8(可选GBK、GB18030)
- 默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
- 默认大小写敏感为:是(可选否)
- 默认数据块大小为:8k(可选16k、32k)
- 默认加密方法为sm4(可选 rc4)
- 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)
图 2.1.26 设置初始化数据库参考
您输入服务器监听端口、用户名、密码、编码、模式、大小写敏感、数据块大小等数据库初始化参数后,点击【下一步】,系统进行初始化数据库过程。
2.1.10. 安装完成
若安装过程中没有出现任何警告或错误,将显示如下界面。单击【完成】以退出安装程序。若安装过程中出现任何警告或错误,则窗口中显示日志文件位置,您可以打开日志文件查看具体错误信息。
2.1.11. 执行root.sh
如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:
- 打开新终端;
- 切换到root用户;
- 运行${安装目录}/install/script/root.sh 。
如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录,使用kingbase用户执行如下命令:
#启动服务
sys_ctl -w start -D ${Data文件目录} -l "${Data文件目录}/sys_log/startup.log"
#停止服务
sys_ctl stop -m fast -w -D ${Data文件目录}
2.2. 命令行安装
2.2.1. 启动安装程序
命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置:
echo $LANG
如果系统显示值包含“zh_CN”,则为中文语言,安装程序会显示中文内容。否则,您可以执行如下命令修改语言设置为中文:
export LANG=zh_CN.UTF-8
接下来开始进行命令行安装过程。您首先进入安装程序中setup.sh所在目录,以kingbase用户执行如下命令:
sh setup.sh -i console
命令执行后,将会启动安装程序。
输入1,再按,选择“安装新的实例”;
2.2.2. 简介
“简介”界面中提供了KingbaseES版本和安装程序版本等信息。
直接按进行下一步操作。
若无特殊说明,以下各步骤皆与此相同。
2.2.3. 许可协议
在此步骤您需要阅读完整的许可协议。连续按翻页阅读直到结束。
图 2.2.26 许可协议
您输入Y(不分大小写)表示接受此许可协议条款。
您输入N(不分大小写)表示不接受此许可协议条款,输入其他无效。
若不接受,则会提示警告信息,无法继续安装,提示用户重新选择。
2.2.4. 选择安装集
根据安装后数据库服务功能的不同,KingbaseES可分为完全安装、客户端安装和定制安装三种安装集。
- 完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 客户端安装:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。
您输入1,或按接受缺省项,选择“完全安装”安装集,系统将安装KingbaseES所有组件,跳至 选择授权文件 。
您输入2,选择“客户端安装”安装集,系统将安装KingbaseES的所有客户端工具、编程接口、扩展插件以及命令行可执行二进制文件,跳至 选择安装文件夹 。
您输入3,选择“定制安装”安装集,可根据需求选择安装所需功能组件,将进入下一步 选择产品功能组件 。
如选择定制安装的安装集,您需要继续选择产品功能组件。
输入 不需要安装 的功能组件的序号,并以逗号分隔。
输入“?<号码>”,可查看该功能部件的说明。
注意
这里选择的是 不需要安装 的组件。如果全部安装,则不需要输入,点击继续下一步。
2.2.6. 选择授权文件
此步骤用于选择授权文件,若指定的授权文件合法,则将显示授权文件的详细信息。
您输入授权文件的绝对路径后,按以检查授权文件,若授权文件有效,则进入下一步骤。
2.2.7. 选择安装文件夹
此步骤用于选择安装路径。默认安装路径是/opt/Kingbase/ES/V8。
图 2.2.30 选择安装文件夹
您可自行输入一个绝对路径作为安装目录。缺省直接按键,即为默认路径。
再次确认完整路径,输入Y(不分大小写),按键继续。
2.2.8. 预安装摘要
您在此步骤会看到即将安装产品的摘要信息。包括:
- 产品名称。
- 安装文件夹。
- 指定安装的功能组件。
- 安装路径所在磁盘空间信息。
2.2.9. 安装确认
您在此步骤进行安装确认。按键系统开始执行安装过程。
2.2.10. 正在安装
安装过程中会不断刷新安装进度。
如选择“完全安装”安装集,安装进度100%之后,将至 初始化数据库 。
如选择“客户端安装”安装集,安装进度100%之后,将至 安装完成 。
如选择“定制安装”安装集,并且选择安装数据库服务器组件,安装进度100%之后,将至 初始化数据库 。
2.2.11. 初始化数据库
首先选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。
设置如下初始化数据库参数:
- 默认端口为:54321(可自定义)
- 默认账户为:system(可自定义)
- 密码(自定义)
- 默认字符集编码为:UTF8(可选GBK、GB18030)
- 默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
- 默认大小写敏感为:是(可选否)
- 默认数据块大小为:8k(可选16k、32k)
- 默认加密方法为sm4(可选 rc4)
- 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)
2.2.12. 安装完成
若安装过程中没有出现任何警告或错误,将显示如下界面。
图 2.2.45 安装完成
按键退出安装程序。
2.2.13. 执行root.sh
如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:
- 打开新终端;
- 切换到root用户;
- 运行${安装目录}/install/script/root.sh 。
如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:
#启动服务
sys_ctl -w start -D ${Data文件目录} -l "${Data文件目录}/sys_log/startup.log"
#停止服务
sys_ctl stop -m fast -w -D ${Data文件目录}
三 启动扩展
3.1. 启动postgis扩展
3.1.1. 获取扩展
联系金仓技术人员,提供系统版本号,数据库版本号,cpu架构等,并写明需求。金仓客服会回复给一个下载地址,地址呢为补丁包。
客服回复:
下载完后上传至linux,路径自定,无要求,我放在了root下。
3.1.2. 部署扩展
解压插件包,将插件包的 bin、lib、share/extension 目录下的文件全部依次拷贝到数据库安装目录的 Server/bin、Server/lib、Server/share/extension 下。
3.1.3. 开启扩展
进入到数据库内,开启postgis,命令如下。
#开启pgsql的插件。
create extension postgis;
create extension postgis_raster;
create extension postgis_topology;
#查看postgis版本,验证安装、启动是否成功 。
SELECT PostGIS_full_version();
检查MVT功能是否正常,出现下图数据,或可视化工具内的值,为功能正常,其余报错请按照报错描述咨询金仓客服人员。
#验证MVT是否能正常使用,执行此SQL出现下图数据表示开启MVT功能正常。
WITH mvtgeom AS ( SELECT ST_TileEnvelope(12,513,412) AS geom ) SELECT ST_AsMVT(mvtgeom.*) FROM mvtgeom;
3.2. 启动pgrouting扩展
3.2.1 获取扩展
联系金仓技术人员,提供系统版本号,数据库版本号,cpu架构等,并写明需求。金仓客服会回复给一个下载地址,地址呢为补丁包。
客服回复:
下载完后上传至linux,路径自定,无要求,我放在了root下。
3.1.2. 部署扩展
解压插件包,将插件包的 lib、share/extension 目录下的文件全部依次拷贝到数据库安装目录的 Server/lib、Server/share/extension 下。
3.1.3. 开启扩展
进入到数据库内,开启pgrouting,命令如下。
#开启pgrouting的插件。
CREATE EXTENSION pgrouting;
#查看pgrouting版本
select pgr_version();