1 准备工作
安装好Linux操作系统,这里选择的是Linux 7:
[root@www.cndba.cn ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
关闭防火墙 和 Selinux:
[root@www.cndba.cn ~]# systemctl stop firewalld
[root@www.cndba.cn ~]# systemctl disable firewalld
[root@www.cndba.cn ~]# vi /etc/selinux/config
[root@www.cndba.cn ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
修改/etc/hosts 文件:
[root@www.cndba.cn ~]# cat /etc/hosts
127.0.0.1 localhost
192.168.74.121 dw1
创建KDB用户:
[root@www.cndba.cn ~]# groupadd kingbase
[root@www.cndba.cn ~]# useradd -g kingbase kuser
[root@www.cndba.cn ~]# passwd kuser
创建目录:存储kdb数据库文件的空间需要提前规划并挂载好,我这里放在/kdb目录下:
[root@www.cndba.cn ~]# mkdir -p /kdb/
[root@www.cndba.cn ~]# chown -R kuser:kingbase /kdb/
[root@www.cndba.cn ~]# chmod -R 775 /kdb/
配置系统资源限制,在/etc/security/limits.conf 文件中添加如下内容:
kuser soft nofile 65536
kuser hard nofile 65536
kuser soft nproc 65536
kuser hard nproc 65536
kuser soft core unlimited
kuser hard core unlimited
验证修改:
[root@www.cndba.cn ~]# ulimit -a
修改kuser 进程资源:
[root@www.cndba.cn ~]# cat /etc/security/limits.d/20-nproc.conf
* soft nproc 4096
root soft nproc unlimited
kuser soft nproc 65535
[root@www.cndba.cn ~]#
修改kuser 缓存资源,在/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
修改磁盘调用算法:在/etc/rc.local 中添加如下内容:
echo deadline > /sys/block/sda/queue/scheduler
修改登录行为:在 /etc/systemd/logind.conf 文件中修改RemoveIPC为YES:
[root@www.cndba.cn ~]# cat /etc/systemd/logind.conf |grep RemoveIPC
RemoveIPC=yes
[root@www.cndba.cn ~]#
修改kuser的环境变量,在kuser用户的~/.bash_profile 里添加如下内容:
export LD_LIBRARY_PATH=”/kdb/ES/V8/Server/lib:$LD_LIBRARY_PATH”
export PATH=”/kdb/ES/V8/Server/bin:$PATH”
注意这里的路径要和实际保持一致。
2 安装Kingbase 数据库
上传kingbase并解压缩:
[kuser@www.cndba.cn software]$ ll
总用量 466276
-rw-r--r-- 1 kuser kingbase 477460596 1月 15 18:44 KingbaseES_V008R003C001B0100_Lin64_install.tar.gz
-rw-r--r-- 1 kuser kingbase 1773 1月 15 18:42 V8-通用.dat
[kuser@www.cndba.cn software]$ tar xzvf KingbaseES_V008R003C001B0100_Lin64_install.tar.gz
执行setup.sh 安装数据库.
注意这里可能会出现如下错误:
Graphical installers are not supported by the VM. The console mode will be used instead…
配置好yum 安装如下包:
yum install libX11.i686 libXau.i686 libxcb.i686 libXext.i686 libXi.i686 libXtst.i686
然后用kuser用户登录进行安装。
[root@www.cndba.cn yum.repos.d]# /kdb/ES/V8/Scripts/root.sh
Starting KingbaseES V8.2:
等待服务器进程启动 .... 完成
服务器进程已经启动
KingbaseES V8.2 started successfully
[root@www.cndba.cn yum.repos.d]#
[kuser@www.cndba.cn ~]$ ps -ef|grep kdb
kuser 19542 1 0 10:27 ? 00:00:00 /kdb/ES/V8/Server/bin/kingbase -D /kdb/ES/V8/data
kuser 20015 17162 0 10:29 pts/0 00:00:00 grep --color=auto kdb
[kuser@www.cndba.cn ~]$
登录验证:
[kuser@www.cndba.cn ~]$ ksql -USYSTEM -W123456 -dTEST
ksql (V008R003C001B0100)
Type "help" for help.
TEST=# /l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+--------------------
SAMPLES | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
TEMPLATE0 | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEMPLATE1 | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEMPLATE2 | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/SYSTEM +
| | | | | SYSTEM=CTcb/SYSTEM
TEST | SYSTEM | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
(5 rows)
TEST=#
TEST=# show case_sensitive;
case_sensitive
----------------
on
(1 row)
退出:
TEST=# /q
[kuser@www.cndba.cn ~]$
至此,Linux 平台的Kingbase安装完成。
3 KDB 数据库的启动和停止
3.1 使用sys_ctl 命令
sys_ctl 是一个用于初始化、启动、停止或控制Kingbase服务器的工具.
使用方法:
sys_ctl init[db] [-D 数据目录] [-s] [-o "选项"]
sys_ctl start [-w] [-t 秒数] [-D 数据目录] [-s] [-l 文件名] [-o "选项"]
sys_ctl stop [-W] [-t 秒数] [-D 数据目录] [-s] [-m 关闭模式]
sys_ctl restart [-w] [-t 秒数] [-D 数据目录] [-s] [-m 关闭模式]
[-o "选项"]
sys_ctl reload [-D 数据目录] [-s]
sys_ctl status [-D 数据目录]
sys_ctl promote [-D 数据目录] [-s]
sys_ctl kill 信号名称 进程号
查看进程:
[kuser@www.cndba.cn ~]$ ps -ef|grep kingbase
kuser 19542 1 0 10:27 ? 00:00:00 /kdb/ES/V8/Server/bin/kingbase -D /kdb/ES/V8/data
……
关闭数据库:
[kuser@www.cndba.cn ~]$ sys_ctl stop -D /kdb/ES/V8/data
等待服务器进程关闭 .... 完成
服务器进程已经关闭
[kuser@www.cndba.cn ~]$
启动数据库:
[kuser@www.cndba.cn ~]$ sys_ctl start -D /kdb/ES/V8/data
正在启动服务器进程
[kuser@www.cndba.cn ~]$ 2020-01-16 10:53:16 CST 日志: 日志输出重定向到日志收集进程
2020-01-16 10:53:16 CST 提示: 后续的日志输出将出现在目录 "sys_log"中.
[kuser@www.cndba.cn ~]$ ps -ef|grep kingbase
kuser 20627 1 0 10:53 pts/3 00:00:00 /kdb/ES/V8/Server/bin/kingbase -D /kdb/ES/V8/data
kuser 20628 20627 0 10:53 ? 00:00:00 kingbase: logger process
3.2 通过系统服务进行
在安装的时候,如果执行了root.sh 脚本,会注册到服务。
[kuser@www.cndba.cn system]$ chkconfig --list
kingbase8d 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
nkucsd 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[kuser@www.cndba.cn system]$
注意kingbase 的服务是在目录:/etc/rc.d/init.d/kingbase8d,这个是Linux 6的目录。 虽然我们这里的系统是Linux 7.6. 默认的路径是/usr/lib/systemd/system/。
因为路径是在旧目录,所以使用linux 7 的systemctl的命令无效进行操作,还需要使用旧命令操作。 如下:
[root@www.cndba.cn ~]# systemctl stop kingbase8d #无效
[root@www.cndba.cn ~]# service kingbase8d stop
Stopping KingbaseES V8.2:
等待服务器进程关闭 .... 完成
服务器进程已经关闭
[root@www.cndba.cn ~]# systemctl stop kingbase8d
[root@www.cndba.cn ~]# ps -ef|grep kingbase
root 21045 11414 0 11:01 pts/3 00:00:00 grep --color=auto kingbase
[root@www.cndba.cn ~]# service kingbase8d start
Starting KingbaseES V8.2:
等待服务器进程启动 .... 完成
服务器进程已经启动
KingbaseES V8.2 started successfully
[root@www.cndba.cn ~]# ps -ef|grep kingbase
kuser 21085 1 0 11:01 ? 00:00:00 /kdb/ES/V8/Server/bin/kingbase -D /kdb/ES/V8/data
kuser 21086 21085 0 11:01 ? 00:00:00 kingbase: logger process
版权声明:本文为博主原创文章,未经博主允许不得转载。