LightDB是恒生电子推出的同时支持在线事务处理与在线分析处理的融合型分布式数据库产品,具备SQL兼容性高、容量弹性伸缩、金融级高可用、现代硬件融合、纯内存计算等核心特性,主要适用于对可用性、一致性要求较高的系统。本文主要介绍一下LightDB数据库的安装。
产品架构
安装包的获取
LightDB安装的可以从官网获取,官网地址LightDB:更快、更稳、更懂金融的分布式关系型数据库
lightdb-x-***对应LightDB数据库安装的包,用户根据实际的服务器机器选择对应的版本
light-em- 对应LightDB数据库运维监控的安装包,light-em的包和lightdb-x的包大版本13.3-22.1必须保持一致
1 前言
恒生电子企业级数据库LightDB安装包名格式为:
lightdb-em-version-revision-os.arch.zip
- lightdb-em:数据库运维监控平台名称
- version:数据库运维监控平台版本号,目前最新为13.3-22.1,13.3表示基于PostgreSQL 13.3版本,22.1表示2022年第1个Release版本
- revision:源代码提交编号
- os:安装包适用的操作系统,目前支持CentOS7/RHEL7和银河麒麟(Kylin)服务器V10系列
- arch:安装包适用的CPU架构,分为x86_64和aarch64
目前支持如下平台:
- x86_64, CentOS/RHEL >= 7.6
- x86_64(海光处理器),Kylin高级服务器V10
- aarch64,CentOS/RHEL >= 7.6
- aarch64,Kylin高级服务器V10SP2
本文档主要介绍LightDB 在x86_64 CentOS 7.6
平台的安装过程及注意事项,其他支持的操作系统如有差异,请根据实际情况灵活调整。
2 安装前准备
本章节所有准备工作,如无特殊说明,均需要在root用户下进行。
2.1 防火墙配置
如果您的环境有防火墙,则需要在防火墙中开启以下端口:
端口 | 协议 | 用途 |
17331 | TCP | EM服务 |
18331 | TCP | EM服务 |
***注意:请务必确保上述两个端口未作他用。***以下为防火墙配置步骤。
- 如果使用firewall防火墙,请执行以下命令
firewall-cmd --permanent --add-port=17331/tcp
firewall-cmd --permanent --add-port=18331/tcp
- 如果使用iptables防火墙,请执行以下命令
iptables -A INPUT -p tcp --dport 17331 -j ACCEPT
iptables -A INPUT -p tcp --dport 18331 -j ACCEPT
- 如果使用其他防火墙,则参考防火墙相关文档正确开放端口
- 如果您的环境可以关闭防火墙,则可以使用下面命令停止并禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
2.2 检查主机名
使用hostname
命令查看主机名,如果是localhost
或localhost.localdomain
,则需要修改主机名,主机名可自行指定。
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostnamectl set-hostname lightdb
2.3 检查时间和时区
查看当前时区设置。
[root@lightdb ~]# timedatectl
Local time: Thu 2021-07-22 10:54:39 CST
Universal time: Thu 2021-07-22 02:54:39 UTC
RTC time: Thu 2021-07-22 02: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
2.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不可用,也可从iso镜像文件,或网络获取rpm包。
2.5 创建lightdb用户并设置sudo免密
- 创建lightdb用户与用户组
groupadd lightdb
useradd -g lightdb -m lightdb
passwd lightdb
- 为lightdb用户设置sudo免密,如下图所示,在
/etc/sudoers
中新增一行lightdb ALL=(ALL) NOPASSWD:ALL
2.6 创建LightDB EM安装目录
以LightDB安装目录为/usr/local/lightdb
为例,创建该目录,并为其设置用户(组)权限。
mkdir -p /usr/local/lightdb
chown -R lightdb:lightdb /usr/local/lightdb
默认情况下,LightDB实例目录为安装目录下的一个子目录,此时不需要手工创建实例目录。
2.7 更改/var/log/messages默认权限
注意:本步骤仅在安装LightDB EM时需要,如果不安装EM,则可以跳过本章节。
修改/etc/logrotate.d/syslog
文件(在Kylin Linux中为/etc/logrotate.d/rsyslog
),确保/var/log/messages
包含如下内容:
/var/log/messages
{
create 0644
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
然后执行如下命令,使设置生效。
logrotate --force /etc/logrotate.d/syslog
logrotate --force /etc/logrotate.d/rsyslog (适用于Kylin Linux)
2.8 开启Swap交换区
使用free -h
查看是否已开启Swap交换区,如未配置,则可以按以下步骤配置开启。
- 创建交换区空白文件,文件大小即为交换区大小,如果磁盘空间充足,建议当物理内存不超过128GB时,Swap大小设为物理内存的一半,建议当物理内存大于128GB时,Swap大小设为固定128GB。下面的示例将交换区文件创建在/swap,大小为2GB,目的仅用于示例。实际配置请按照上述建议决定交换区大小,并选择合适的磁盘路径来放置交换区文件。
dd if=/dev/zero of=/swap bs=1M count=2048 # Swap交换区大小 = 2048MB
- 使用
mkswap
格式化文件
mkswap -f /swap
- 修改交换区文件权限为0600
chmod 0600 /swap
- 启用刚刚创建的交换区
swapon /swap
- 设置开机自动启用,修改
/etc/fstab
文件,添加如下配置
/swap swap swap defaults 0 0
2.9 准备LightDB安装包
根据前言中介绍的安装包名规则和目标主机的实际情况,选择正确的LightDB EM安装包上传到/home/lightdb
目录,并确保安装包的用户与用户组均为lightdb。
解压安装包,进入解压后目录。
运行install.sh
脚本,进入安装过程,根据安装向导提示信息,此处有两种安装方式,输入Yes
为GUI安装,输入No
为命令行安装。
如果选择GUI安装,需要满足下列条件:
- Windows上运行Xmanager - Passive,并通过Xshell SSH连接服务器
- 目标服务器已配置DISPLAY环境变量
export DISPLAY=Windows IP:0.0
其中,Windows IP为运行Xmanager - Passive的主机IP地址,冒号:后面的值一般为0.0,具体取决于Xmanager - Passive运行后的状态提示,如下图所示。
- 目标服务器已安装
libXtst
、gtk2
、libX11
这几个运行GUI需要的依赖包
yum install -y libXtst gtk2 libX11
如果无法满足上述条件,或者已满足上述条件,但仍无法显示GUI安装向导界面,则可以选用命令行安装,二者除了向导方式外,并无任何差异。
3安装LightDB EM
3.1 GUI安装LightDB EM
- 按前面所述要求,配置DISPLAY环境变量,在install.sh命令行提示信息中输入yes,按回车键确认,Windows中就会弹出GUI安装向导界面。
- 第一步进入LightDB EM安装界面,需要输入IP、安装地址、端口(默认17333一般步建议修改),编码需要与安装数据库的编码保持一致。数据库安装如果设置的是UTF8,EM也设置为UTF8;数据库安装如果设置的是GBK,EM也设置为GBK。
- 第二步需要选择已安装好的LightDB数据库作为LightDB EM运行的库,数据库用户名必须是lightdb。输入完毕后测试一下连接,测试成功后配置代理,目前EM安装时默认安装一个主机点的代理。
- 选择Next时会出现EM数据库存在的判断,如果使用已存在的EM数据库则不需要删除库重建,否则需要删除重建。
- 第三步配置数据库代理信息。配置好代理后电子Test Connection进行验证数据库是否能联通,成功后可以进入下一步
- 第四步配置Redis的端口和密码
- 第五、六步配置Nginx的端口和密码
- 第七步配置展示安装所有配置信息。其中Save Response File保存静默安装的配置,有了静默安装配置文件后续可以进行静默安装。点击安装就安装LightDB EM
- 第八步进行安装,展示安装的进度
- 第九步显示安装完成
3.2命令行安装LightDB EM
进入LightDB安装目录,执行./install.sh脚本,显示是否GUI安装或者命令行安装。选择No即进行命令行安装
- 第一步输入EM安装的机器IP,默认当前机器
- 第二步输入EM安装的目录,默认/usr/local/lightdb
- 第三步输入EM的端口,默认17333 - 第四步输入字符编码,默认1为UTF8。字符编码需要跟数据库安装时的字符编码保持一致
- 第五步输入EM的数据库IP
- 第六步输入EM的数据库端口,默认5432
- 第七步输入EM的数据库密码
- 第八步输入选择是否使用已存在的EM数据库,如果使用已存在的EM数据库则不需要删除库重建,否则需要删除重建。如果EM库不存在则不会出现这一步
- 第九步提示安装一个主节点的代理,回车往下即可
- 第十步选择是否监控默认的数据库,如果EM在被监控的数据库上就选择1,否则选择2重新输入要监控的数据库。本说明因为EM在被监控的数据库上所以选择1
- 第十一步确认SSH信息,因为往被监控的数据库安装Agent代理
- 第十二步输入SSH的用户名信息,默认lightdb
- 第十三步输入SSH的密码
- 第十四步输入Agent代理安装的目录,默认/usr/local/lightdb。一般建议跟数据库lightdb-x的安装目录同级
- 第十五步输入Agent代理安装的端口,默认17334。
- 第十六步输入部署模式,目前支持单机、高可用和分布式。需要跟实际数据库的部署模式保持一致。
- 第十七步选择好部署模式后,即进行代理的拷贝安装。
- 第十八步设置Redis的端口,默认18331。
- 第十九步设置Redis的密码
- 第二十步选择是否安装Nginx
- 第二十一步选择设置Nginx端口,默认17331
- 第二十二步选择设置Nginx ssl端口,默认17332
- 第二十三步选择是否立即安装EM
安装成功后访问相应IP地址端口路径就可以访问EM WEB登录页面http://192.168.86.10:17333/em/logout.html
4卸载LightDB EM
到EM安装目录/usr/local/lightdb执行卸载脚本./uninstall.sh及可以卸载安装的EM
针对Agent的卸载需要人工处理