LightDB数据库安装手册
1 前言
恒生电子企业级数据库LightDB安装包名格式为:
lightdb-x-version-revision-os.arch.zip
lightdb-x:数据库名
version:数据库版本号,目前最新为13.3-22.2,13.3表示基于PostgreSQL 13.3版本,
22.2表示2022年第2个Release版本
revision:源代码提交编号
os:安装包适用的操作系统
arch:安装包适用的CPU架构
目前支持如下平台:
Architecture OS
x86_64(intel)CentOS7/RHEL7/rockylinux8/麒麟V10SP1
x86_64(海光)麒麟V10/麒麟V10SP1
aarch64CentOS7/RHEL7/rockylinux8/麒麟V10SP1/麒麟V10SP2
LoongArch64麒麟V10SP1
本文档主要介绍LightDB 在x86_64 CentOS 7.6平台的安装过程及注意事项,其他支持的操作系统如有差异,请根据实际情况灵活调整。
安装过程会自动在/home/lightdb/.bashrc中配置PATH、LTHOME、LTDATA等环境变量,安装完成后,需重新登录Shell会话生效。
2 推荐配置
配置参数最低配置推荐配置
CPU16核96核
内存64GB256GB
存储60GB,SSD NVMe1TB以上SSD NVMe或PMEM
网络千兆网络千兆网络
3 安装前准备
本章节所有准备工作,如无特殊说明,均需要在root用户下进行。
3.1 防火墙配置
如果您的环境有防火墙,则需要在防火墙中开启以下端口:
端口协议用途
默认5432TCP数据库服务
123UDP NTP校时服务
其中,数据库服务的端口5432为默认值,这个值在安装过程中可以自行指定,如果希望使用其他端口,则在此处需要将5432修改为实际值,其余用作EM服务和NTP校时服务的三个端口为固定值。
注意:请务必确保上述四个端口未作他用。以下为防火墙配置步骤。
如果使用firewall防火墙,请执行以下命令,其中第一条命令中的5432需修改为实际使用的端口
firewall-cmd --permanent--add-port=5432/tcp
firewall-cmd --permanent--add-port=123/udp
如果使用iptables防火墙,请执行以下命令,其中第一条命令中的5432需修改为实际使用的端口
iptables -A INPUT -p tcp --dport5432-j ACCEPT
iptables -A INPUT -p udp --dport123-j ACCEPT
如果使用其他防火墙,则参考防火墙相关文档正确开放端口
oracle10g客户端安装步骤如果您的环境可以关闭防火墙,则可以使用下面命令停止并禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
3.2 关闭SELINUX
sed-i"s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config setenforce 0
3.3 检查时间和时区
查看当前时区设置。
[root@lightdb ~]#  timedatectl
Local time: Thu 2021-07-2210:54:39 CST
Universal time: Thu 2021-07-2202:54:39 UTC
RTC time: Thu 2021-07-2202:54:39
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
如果需要修改时区,可以参考如下示例,先使用timedatectl list-timezones列出所有可选的时区,然后使用timedatectl set-timezone设置新的时区,下面的例子展示了将时区设置为Asia/Shanghai。
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
3.4 安装依赖包
# 安装包通用运行依赖,GUI安装和命令行安装均需要
yum install -y procps-ng
yum install -y coreutils
# GUI安装运行依赖,仅GUI安装需要
yum install -y gtk2
yum install -y libXtst
yum install -y dejavu-fonts # 麒麟v10sp1可能需要安装字体
# 数据库的运行依赖
yum install -y readline
yum install -y zlib
yum install -y libxml2
yum install -y openssl-libs
yum install -y uuid
yum install -y c-ares libpcap snappy # tshark
yum install -y ncurses-libs # iftop
yum install -y libnl3 # keepalived ipv6
yum install -y libzstd # canopy
yum install -y sysstat
yum install -y json-c
在安装包下的system-lib目录下有部分rpm包,可以使用rpm -ivh <rpm包>直接安装。
如果要使用oracle_fdw或wal2sql,需要正确安装oracle客户端SDK,oracle客户端SDK在arm 环境使用19版本,在x86环境使用21版本的客户端。
如果使用mysql_fdw, 则需要正确安装mysql-client库,mysql客户端使用8.0版本。
其中oracle客户端需注意配置如下环境变量:
3.6 创建LightDB安装目录和实例目录
LightDB安装目录为/usr/local/lightdb为例,创建该目录,并为其设置用户(组)权限。
mkdir-p /usr/local/lightdb
chown-R lightdb:lightdb /usr/local/lightdb
默认情况下,LightDB实例目录为安装目录下的一个子目录,此时不需要手工创建实例目录。
也可以指定其他实例目录,此时需要手工创建,并为其设置用户(组)权限,
以/data/lightdb_data为例:
mkdir-p /data/lightdb_data
chown-R lightdb:lightdb /data/lightdb_data
3.7 配置操作系统内核参数
3.7.1 配置f
运行下列命令以设置推荐的操作系统内核参数。
echo"kernel.shmmni=4096" >> /f
echo"kernel.shmmax=$(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf
PAGE_SIZE))" >> /f
echo"kernel.shmall=$(expr $(getconf _PHYS_PAGES) / 2)" >> /f echo"kernel.sem=500 2048000 200 4096" >> /f
echo"fs.aio-max-nr=1048576" >> /f
echo"fs.file-max=524288" >> /f
echo"vm.swappiness=5" >> /f
echo"vm.overcommit_memory=2" >> /f
echo"vm.overcommit_ratio=75" >> /f
echo"vm.dirty_background_ratio=5" >> /f
echo"vm.dirty_ratio=40" >> /f
echo"vm.dirty_expire_centisecs=500" >> /f
echo"vm.dirty_writeback_centisecs=250" >> /f
somaxconn=2000" >> /f
echo"p_max_syn_backlog=2000" >> /f
echo"p_tw_reuse=1" >> /f
echo"p_syn_retries=3" >> /f
echo"p_retries2=5" >> /f
echo"p_slow_start_after_idle=0" >> /f
如果服务器物理内存大于128GB,尤其是达到256GB甚至更高时,强烈建议开启Linux系统的hugepage,同时将大页内存设置为shared_buffers的1.1~1.2倍,关于shared_buffers的介绍可参考官方文档www.hs/lightdb/docs/html/runtime-config-resource.html#RUNTI ME-CONFIG-RESOURCE-MEMORY,开启hugepage的配置方法如下所示。
echo "vm.nr_hugepages = 大页页数" >> /f
其中,大页页数 = (shared_buffers * 1.1~1.2) / hugepage_size,hugepage_size的值因系统和个人设置而异,查看方法为:
cat /proc/meminfo | grep Hugepagesize

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。