linux下安装KingbaseES V8R6 单机
软件和授权文件下载
官网链接: https://www.kingbase.com.cn/xzzx/index.htm
注意:
1、根据cpu架构(linux通过lscpu命令查看)选择对应的安装包进行下载
2、下载临时授权文件,直接下载企业版(功能无限制)即可,从安装之日起可用90天,正式授权无日期限制
3、下载或上传的安装包文件可通过MD5值与官网提供的比较,判断安装包是否完好
linux查看文件md5值
md5sum KingbaseES_V008R006C008B0014_Lin64_install.iso
1.硬件环境要求
KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏等国产CPU硬件体系架构
内存:512MB以上
硬盘:10GB以上空闲空间(/tmp 8GB+)
2.软件环境要求
KingbaseES支持各种主流的Linux操作系统64位发行版本,包括CentOS、中标麒麟、银河麒麟、统信UOS、Deepin、凝思、中科方德等操作系统
3.运行依赖环境要求
Linux:libuuid.so.1、libcrypt.so.1、libdl.so.2、libm.so.6、libpthread.so.0、libc.so.6
–以下涉及环境演示部分:均在CentOS7.2操作系统上
3.安装准备
3.1 环境检查
操作系统信息
cat /etc/*release
cpu
lscpu
内存
free -h
磁盘空间
df -h
lsblk
fdisk -l
网络
ip a
ethtool eno16777736
磁盘性能
dd测试性能大概,可以采用其他测试方式
dd测试写性能
time dd if=/dev/zero of=test.file bs=1G count=2 oflag=direct
dd测试读性能
dd if=test.file of=/dev/null iflag=direct
查看磁盘类型
sda是磁盘名称
返回0:SSD盘(固态硬盘)
返回1:SATA盘(使用SATA口的机械硬盘)
cat /sys/block/sda/queue/rotational
3.2 安装规划
数据库安装用户:kingbase
软件包、License存放目录:/install 可自定义
数据库软件安装目录:/kingbase/Kingbase/ES/V8 可自定义
存储可选设备:FC存储、iscsi存储、本地磁盘,禁止使用NAS存储。
阵列级别:raid10、raid1、raid5+热备、raid5,禁止使用raid0。
数据库数据目录:/data/kingbase/data
数据库备份目录:/backup
数据库端口:54321
数据库用户:system
数据库密码:12345678ab
数据库模式:oracle (可选oracle,mysql,pg)
数据库字符集:UTF-8
数据库页大小:8K
数据库单个wal文件段:16M
3.3 关闭防火墙,SELINUX
vim /etc/selinux/config
SELINUX=disabled 注:禁用状态(确认是否可以修改)
service iptables stop
chkconfig iptables off
iptables -L
iptables -F
systemctl stop firewalld 注:关闭防火墙(确认是否可以修改)
systemctl disable firewalld
如果防火墙不能关闭,需要放开数据库端口
firewall添加端口
firewall-cmd --zone=public --add-port=54321/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
firewall删除端口
firewall-cmd --zone=public --remove-port=54321/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
iptables添加端口
iptables -I INPUT -p tcp --dport 54321 -j ACCEPT
iptables -L
3.4 操作系统时间检查
date
date -s 修改时间
3.5 创建用户和目录
建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,安装用户对于安装路径需有“读”、“写”、“执行”的权限。
useradd -m kingbase
echo k1ngb@se|passwd --stdin kingbase
安装包及其他相关文件存放目录
mkdir /install -p
chown -R kingbase.kingbase /install
软件目录
mkdir -p /kingbase/Kingbase/ES/V8 -p
chown -R kingbase.kingbase /kingbase/Kingbase/ES/V8
数据目录
mkdir -p /data/kingbase/data -p
chown -R kingbase.kingbase /data/kingbase/data
备份目录
mkdir /backup -p
chown -R kingbase.kingbase /kbackup
3.6 资源使用限制
vim /etc/security/limits.conf
kingbase soft nofile 655360
kingbase hard nofile 655360
kingbase soft nproc 655360
kingbase hard nproc 655360
kingbase soft memlock 50000000
kingbase hard memlock 50000000
kingbase soft core unlimited
kingbase hard core unlimited
nofile——指打开文件的最大数目
nproc——指进程的最大数目
core ——指限制内核文件的大小
memlock——指定用户可以锁定其地址空间的内存量,单位kb,如果使用大页内存,则配置为略大于Hugepages*Hugepagesize
cat /proc/meminfo | grep -i hugepages
grep vm.nr_hugepages /etc/sysctl.conf
3.7内核参数配置
vim /etc/sysctl.conf
kernel.sem =5010 641280 5010 256
fs.file-max =7672460
fs.aio-max-nr =1048576
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
net.core.somaxconn =4096
vm.min_free_kbytes =521000
vm.vfs_cache_pressure =200
vm.swappiness =20
net.ipv4.tcp_max_syn_backlog =4096
net.ipv4.tcp_wmem= 8192 65536 16777216
net.ipv4.tcp_rmem =8192 87380 16777216
生效
sysctl -p
3.8 RemoveIPC
systemd-logind服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的IPC对象。该特性由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有redhat7及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes)。设置RemoveIPC=no。 设置后重启服务:
vim /etc/systemd/logind.conf
RemoveIPC=no
生效
systemctl daemon-reload
systemctl restart systemd-logind.service
3.9 修改磁盘IO调度策略
echo deadline > /sys/block/[磁盘名]/queue/scheduler
此命令添加到rc.local
deadline综合测试性能表现更稳定
4 安装
前面准备工作完成后,开始安装
挂载镜像文件和解压授权文件
cd /install
mount KingbaseES_V008R006C008B0020_Lin64_install.iso /mnt
unzip license_V8R6-企业版-365天.zip
chown -R kingbase:kingbase license_33674
切到kingbase用户,进入镜像挂载目录,执行安装程序,默认调用图形化界面安装,如果没有配置图形化,则进入命令行安装
su - kingbase
cd /mnt
./setup.sh
如果该服务器已安装有实例,执行安装选择安装新实例
回车
许可协议介绍,回车
接受许可协议
选择完全安装,完全安装包含所有组件和数据库实例
输入授权文件,绝对路径
回车
回车
输入数据目录
输入数据库端口
输入数据库管理员和管理员密码
选择数据库字符集
选择数据库区域
选择数据库兼容模式
选择字符大小写敏感
选择存储块大小
选择身份认证方法
自定义参数,回车
回车
使用root用户注册系统服务
回车,安装完成
查看数据库进程
进入数据库
添加kingbase用户环境变量,可以不添加
数据库用户本地免密登录,可以不做
5.安装完初步优化调整
5.1 操作系统优化
1、关闭NUMA、关闭透明大页
查看当前配置
grep AnonHugePages /proc/meminfo
cat /sys/kernel/mm/transparent_hugepage/enabled
编辑/etc/default/grub文件,添加
numa=off transparent_hugepage=never
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
再次验证
2、开启大页内存(仅针对内存较大的情况下,如RAM>=128GB)
计算数据库启动用了多少内存,XXXX为指定kingbase主进程PID
pmap XXXX | awk ‘/rw-s/ && /zero/ {print $2}’
查看大页单页大小
grep Hugepagesize /proc/meminfo
计算需要多少大页
(420720K+2*1024K)/2048 kB=207页
配置内核参数
sysctl -w vm.nr_hugepages=207
修改资源限制文件
memlock=(207*2+2)*1024
vi /etc/security/limits.conf
kingbase soft memlock 425984
kingbase hard memlock 425984
重启数据库
sys_ctl restart
查看参数
cat /proc/meminfo |grep -i huge
3、配置共享内存参数
修改内核参数
vi /etc/sysctl.conf
#for 16GB Mem:
kernel.shmall = 838860
kernel.shmmax = 3400000000
#for 32GB Mem:
#kernel.shmall = 7549747
#kernel.shmmax = 17179869184
#for 64GB Mem:
#kernel.shmall = 15099494
#kernel.shmmax = 34359738368
#for 128GB Mem:
#kernel.shmall = 30198988
#kernel.shmmax = 68719476736
#for 256GB Mem:
#kernel.shmall = 60397977
#kernel.shmmax = 137438953472
#for 512GB Mem:
#kernel.shmall = 120795955
#kernel.shmmax = 274877906944
kernel.shmmni = 4096
生效
sysctl -p
5.2 数据库参数优化调整
max_connections=1000 #根据实际情况配置
shared_buffers=RAM*0.3
work_mem=50MB #可动态调整
maintenance_work_mem=1GB
#日志
log_destination=‘stderr’
log_filename=kingbase-%d.log
log_rotation_age=1d
log_rotation_size=2000MB
log_truncate_on_rotation=on
log_min_duration_statement=1000
log_checkpoints=on
log_connections=on
log_disconnections=on
log_line_prefix=‘%t [%p]: [%l-1] [%x] user=%u,db=%d,app=%a,client=%h’
log_lock_waits=on
log_statement=‘ddl’
log_temp_files=0