第一部分 系统准备
1.1环境描述
| IP地址 | 主机名 | 数据库端口 |
|---|---|---|
| 192.168.1.1 | node1 | 54321 |
1.2 安装依赖包
# su - root
# yum install apr apr-util bash bzip2 curl krb5 libxml2 libyaml openldap openssh openssl openssl-libs perl rsync R sed tar zip unzip ntp lz4 gcc* libcurl* libevent* flex* bison* readline* zlib*
第二部分 操作系统基础配置
2.1 主机设置
2.1.1 设置主机名
# su - root
# hostnamectl set-hostname node1
2.1.2 修改 /etc/hosts文件
# su - root
# vi /etc/hosts
#添加以下内容:
192.168.1.1 node1
2.2 禁用SELinux
# su - root
# vi /etc/selinux/config
#修改以下内容:
SELINUX=disabled
2.3 关闭防火墙软件
# su - root
# systemctl stop firewalld
禁用防火墙
# systemctl disable firewalld
检查关闭情况
# systemctl list-unit-files | grep firewalld
2.4 设置系统参数
配置文件 /etc/sysctl.conf
# su - root
# vi /etc/sysctl.conf
#添加以下内容:
kernel.shmmax = echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
kernel.shmall = echo $(expr $(getconf _PHYS_PAGES) / 2)
kernel.shmmni = 4096
kernel.sem = 500 2048000 200 4096
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 4194304
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
vm.swappiness = 10
vm.zone_reclaim_mode = 0
使用系统参数生效
# sysctl -p
2.5 设置资源限制
配置文件 /etc/security/limits.conf
# su - root
# vi /etc/security/limits.conf
#添加以下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
# vi /etc/security/limits.d/20-nproc.conf
#修改以下内容:
* soft nproc 131072
2.6 设置登录配置加载
配置文件 /etc/pam.d/login
# su - root
# vi /etc/pam.d/login
#添加以下内容:
session required pam_limits.so
2.7 禁用透明大页面
查看当前配置
# su - root
# cat /sys/kernel/mm/transparent_hugepage/enabled
设置
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
使得系统重启自动生效
# grubby --update-kernel=ALL --args="transparent_hugepage=never"
查看
# grubby --info=ALL
2.8 配置时区
检查时区,时间是否正确。
# su - root
# date
系统时间EDT改为CST
# mv /etc/localtime /etc/localtime.bak
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.9 修改语言及字符集
# su - root
# vi /etc/locale.conf
# 修改以下内容:
LANG="en_US.UTF-8"
2.10 重启服务器
# su - root
# shutdown -r now
第三部分 数据库准备
3.1 创建用户
# su - root
# useradd kingbase
3.2 创建目录
# su - root
# mkdir -p /data/KingbaseES/{V8,data,install}
# chown -R kingbase:kingbase /data/KingbaseES
3.3 配置环境变量
$ vi ~/.bash_profile
#修改以下内容:
export PATH=/data/KingbaseES/V8/Server/bin:$PATH
#添加以下内容:
export KINGBASE_DATA=/data/KingbaseES/data
环境变量生效
# su - kingbase
$ source ~/.bash_profile
3.4 挂载KES安装虚拟光盘文件
# su - root
# mount -o loop KingbaseES_V008R006C005B0054_Lin64_install.iso /mnt
#输出
mount: /dev/loop0 is write-protected, mounting read-only
3.5 拷贝挂载后的安装文件
# su - kingbase
$ cp -r /mnt/* /data/KingbaseES/install/
3.6 上传授权文件
# su - root
# cd /data/KingbaseES/install
# chown -R kingbase:kingbase license_26557_0.dat
第四部分 使用命令行安装Kingbase
4.1 运行安装程序
进入安装程序的目录执行bash setup.sh
# su - kingbase
$ cd /data/KingbaseES/install
$ bash setup.sh
4.2 接受许可协议

连续按回车键,到截图所示的步骤输入Y。
4.3 选择“完全安装”

三种安装方式(默认是1),我们这边也选择1完全安装。
(1)Full:完全安装,系统将安装KingbaseES所有组件,至选择授权文件。
(2)Client:客户端安装,系统将安装KingbaseES的所有客户端工具、编程接口、扩展插件以及命令行可执行二进制文件,至选择安装文件夹。
(3)Custom:定制安装,可根据需求选择安装所需功能组件,将进入下一步选择产品功能插件。
4.4 选择授权文件

输入:/data/KingbaseES/install/license_26557_0.dat
4.5 选择安装路径

输入:/data/KingbaseES/V8

输入:Y
4.6 检查产品信息

主要看磁盘空间是否足够安装使用。
4.7 安装Kingbase

按下回车键开始安装,安装过程需要等待几分钟。
4.8 配置数据库初始化参数
数据目录:/data/KingbaseES/data
默认端口为:54321(可自定义)
默认账户为:system(可自定义)
密码(自定义)
默认字符集编码为:UTF8(可选GBK、GB18030)
默认数据库兼容模式为:ORACLE(可选PG)
默认大小写敏感为:是(可选否)
默认数据块大小为:8k(可选16k、32k)

输入:/data/KingbaseES/data



4.9 数据库初始化

请留意安装向导提示“如果您需要将 KingbaseES V8 注册为系统服务,请运行
/data/KingbaseES/V8/install/script/root.sh”
4.10 将KES服务注册为linux系统服务
# su - root
# /data/KingbaseES/V8/install/script/root.sh
#输出
Starting KingbaseES V8:
waiting for server to start.... done
server started
KingbaseES V8 started successfully
4.11 查看Kingbase相关进程是否启动
# su - kingbase
$ ps aux | grep kingbase | grep -v grep | awk '{print $11,$12,$13,$14}'
#输出
/data/KingbaseES/V8/KESRealPro/V008R006C005B0054/Server/bin/kingbase -D /data/KingbaseES/data
kingbase: logger
kingbase: checkpointer
kingbase: background writer
kingbase: walwriter
kingbase: autovacuum launcher
kingbase: stats collector
kingbase: ksh writer
kingbase: ksh collector
kingbase: kwr collector
kingbase: logical replication launcher
4.12 使用systemctl管理KES服务
# su - kingbase
$ sys_ctl stop -D /data/KingbaseES/data
# su - root
# systemctl status kingbase8d
# systemctl start kingbase8d
# ps aux | grep kingbase | grep -v grep | awk '{print $11,$12,$13,$14}'
4.13 重启linux确认KES服务开机自动启动
# su - root
# shutdown -r now
# ps aux | grep kingbase | grep -v grep | awk '{print $11,$12,$13,$14}'
4.14 连接数据库
# su - kingbase
$ ksql -p 54321 -U system test
ksql (V8.0)
Type "help" for help.
test=#
4.15 数据库关闭
# su - root
# systemctl stop kingbase8d
或者
# su - kingbase
$ sys_ctl stop -D /data/KingbaseES/data
4.16 数据库启动
# su - root
# systemctl start kingbase8d
或者
# su - kingbase
$ sys_ctl start -D /data/KingbaseES/data





