目录
- 前言
- 一、下载openEuler 22.03LTS
- 二、下载openGauss 5.0.0
- 三、环境准备
- 1、硬件环境要求
- 2、软件环境要求
- 3、依赖包要求
- 4、关闭防火墙
- 5、设置SELINUX
- 6、设置操作系统字符集编码
- 7、设置时区和时间
- 8、关闭swap交换内存(可选)
- 9、关闭virbr0网卡
- 10、关闭RemoveIPC
- 11、设置网卡MTU值
- 12、关闭virbr0网卡
- 12、关闭HISTORY记录
- 13、设置root用户远程登录
- 14、配置Banner
- 15、创建用户和用户组
- 16、创建xml文件
- 17、解压安装包
- 18、设置/etc/hosts
- 四、开始安装
- 五、卸载openGauss
- 问题解决
前言
一、下载openEuler 22.03LTS
二、下载openGauss 5.0.0
三、环境准备
1、硬件环境要求
2、软件环境要求
3、依赖包要求
dnf -y install libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libnsl python3 redhat-lsb-core
复制
这有个坑:redhat-lsb-core这个包
直接使用openEuler的源安装redhat-lsb-core
[root@client1 yum.repos.d]# dnf -y install redhat-lsb-core
Last metadata expiration check: 0:16:30 ago on Wed 12 Jul 2023 11:26:06 AM CST.
No match for argument: redhat-lsb-core
Error: Unable to find a match: redhat-lsb-core
没有这个包。
我配置了一个网易的yum源进行安装,然后报下面这个错。
Error: Transaction test error: file /usr/bin/last from install of sysvinit-tools-2.88-14.dsf.el7.x86_64 conflicts with file from package util-linux-2.37.2-13.oe2203sp1.x86_64 file /usr/bin/mesg from install of sysvinit-tools-2.88-14.dsf.el7.x86_64 conflicts with file from package util-linux-2.37.2-13.oe2203sp1.x86_64 file /usr/bin/wall from install of sysvinit-tools-2.88-14.dsf.el7.x86_64 conflicts with file from package util-linux-2.37.2-13.oe2203sp1.x86_64 file /lib/lsb/init-functions from install of redhat-lsb-core-4.1-27.el7.centos.1.x86_64 conflicts with file from package openeuler-lsb-5.0-1.oe2203sp1.x86_64 file /usr/bin/lsb_release from install of redhat-lsb-core-4.1-27.el7.centos.1.x86_64 conflicts with file from package openeuler-lsb-5.0-1.oe2203sp1.x86_64
复制
从报错中可以看出,redhat-lsb-core包和openeuler-lsb冲突了。
所以这个包不用安装了。
4、关闭防火墙
目前仅支持在防火墙关闭的状态下进行安装。安装好后,可以把防火墙打开
systemctl disable firewalld.service systemctl stop firewalld.service systemctl status firewalld
复制
5、设置SELINUX
vim /etc/selinux/config SELINUX=disabled
复制
6、设置操作系统字符集编码
LANG=en_US.UTF-8 echo "LANG=en_US.UTF-8" >> /etc/profile source /etc/profile echo $LANG
复制
7、设置时区和时间
- 查询时区和修改
timedatectl timedatectl list-timezones |grep Shanghai timedatectl set-timezone Asia/Shanghai
复制
- 修改时区和时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime date -s "2021-04-29 15:51:50"
复制
8、关闭swap交换内存(可选)
关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。
- 关闭
swapoff -a
复制
- 开启
swapon -a
复制
9、关闭virbr0网卡
ifconfig virbr0 down systemctl disable libvirtd.service
复制
10、关闭RemoveIPC
在各数据库节点上,关闭RemoveIPC.
- 删除
sed -i '/^RemoveIPC/d' /etc/systemd/logind.conf sed -i '/^RemoveIPC/d' /usr/lib/systemd/system/systemd-logind.service
复制
- 传入参数
echo "RemoveIPC=no" >> /etc/systemd/logind.conf echo "RemoveIPC=no" >> /usr/lib/systemd/system/systemd-logind.service
复制
- 使参数生效
systemctl daemon-reload systemctl restart systemd-logind
复制
- 验证参数的值
loginctl show-session | grep RemoveIPC systemctl show systemd-logind | grep RemoveIPC
复制
默认安装的操作系统,2个参数都是RemoveIPC=no,所以这2个参数不用修改,不过需要先查看下参数值,如果不是no,那就手动改下。
11、设置网卡MTU值
将各数据库节点的网卡MTU值设置为相同大小。
操作步骤
执行如下命令查询服务器的网卡名称。
ifconfig
复制
使用如下命令将各数据库节点的网卡MTU值设置为相同大小。MTU值推荐8192,要求不小于1500。
ifconfig ens33 mtu 8192
复制
12、关闭virbr0网卡
ifconfig virbr0 down systemctl disable libvirtd.service
复制
12、关闭HISTORY记录
为避免指令历史记录安全隐患,需关闭各主机的history指令。
步骤 1 修改根目录下/etc/profile文件。
vim /etc/profile
复制
步骤 2 设置HISTSIZE值为0。例如,系统中HISTSIZE默认值为1000,将其修改为0。
HISTSIZE=0
复制
步骤 3 保存/etc/profile。
wq
复制
步骤 4 设置/etc/profile生效。
source /etc/profile
复制
13、设置root用户远程登录
修改PermitRootLogin配置,允许用户远程登录。
a. 打开sshd_config文件。
vim /etc/ssh/sshd_config
复制
b. 修改权限配置,可以使用以下两种方式实现:
注释掉“PermitRootLogin no”。
#PermitRootLogin no
复制
将“PermitRootLogin”改为“yes”。
PermitRootLogin yes
复制
14、配置Banner
修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。
欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行。
a. 编辑sshd_config文件。
vim /etc/ssh/sshd_config
复制
b. 修改Banner配置,注释掉“Banner”所在的行。
#Banner XXXX
复制
c. 执行:wq保存并退出编辑页面。
使用如下命令使设置生效。
systemctl restart sshd.service
复制
以root用户身份重新登录。
ssh xxx.xxx.xxx.xxx
复制
15、创建用户和用户组
为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。
1、用户组:dbgrp
初始化安装环境时,由-G参数所指定的安装用户所属的用户组。
该用户组如果不存在,则会自动创建,也可提前创建好用户组。
在执行gs_preinstall脚本时会检查权限。
gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。
2、用户:omm
初始化安装环境时,由-U参数所指定和自动创建的操作系统用户。
此用户具备数据库的最高操作权限,此用户初始密码由用户指定。
从安全性考虑,用户所属组是dbgrp
操作:
groupadd dbgrp useradd -g dbgrp omm echo 'omm@123' | passwd --stdin omm
复制
16、创建xml文件
单节点配置文件
vi /opt/software/og.xml
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <!-- openGauss整体信息 --> <CLUSTER> <!-- 数据库名称 --> <PARAM name="clusterName" value="dbCluster" /> <!-- 数据库节点名称(hostname) --> <PARAM name="nodeNames" value="master01" /> <!-- 数据库安装目录--> <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" /> <!-- 日志目录--> <PARAM name="gaussdbLogPath" value="/var/log/omm" /> <!-- 临时文件目录--> <PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" /> <!-- 数据库工具目录--> <PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" /> <!-- 数据库core文件目录--> <PARAM name="corePath" value="/opt/huawei/corefile" /> <!-- 节点IP,与数据库节点名称列表一一对应 --> <PARAM name="backIp1s" value="192.168.10.10"/> </CLUSTER> <!-- 每台服务器上的节点部署信息 --> <DEVICELIST> <!-- 节点1上的部署信息 --> <DEVICE sn="node1_hostname"> <!-- 节点1的主机名称 --> <PARAM name="name" value="master01"/> <!-- 节点1所在的AZ及AZ优先级 --> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name="backIp1" value="192.168.10.10"/> <PARAM name="sshIp1" value="192.168.10.10"/> <!--dbnode--> <PARAM name="dataNum" value="1"/> <PARAM name="dataPortBase" value="15400"/> <PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/> <PARAM name="dataNode1_syncNum" value="0"/> </DEVICE> </DEVICELIST> </ROOT>
复制
17、解压安装包
cd /opt/software tar -zxvf openGauss-5.0.0-openEuler-64bit-all.tar.gz
复制
继续解压安装包openGauss-5.0.0-CentOS-64bit-om.tar.gz
tar -zxvf openGauss-5.0.0-CentOS-64bit-om.tar.gz
复制
解压出来的内容比较多
chmod -R 777 /opt/software
复制
18、设置/etc/hosts
配置了几个ip都要对应到hosts中
[root@client1 software]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.152 client1
复制
四、开始安装
1、执行预安装脚本
- 进入命令目录
[root@client1 software]# cd /opt/software/script/
复制
执行命令
./gs_preinstall -U omm -G dbgrp -X /opt/software/og.xml
复制
2、开始安装
- 切换用户
必须使用上面预安装指定的用户进行安装
su – omm
复制
- 开始安装
使用XML配置文件
需要输入密码,密码要求:
最少包含8个字符。
不能和用户名、当前密码(ALTER)、或当前密码反序相同。
至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符。
gs_install -X /opt/software/og.xml
复制
- 验证
su - omm gs_om -t status
复制
五、卸载openGauss
卸载openGauss的过程包含卸载openGauss和对openGauss服务器的环境做清理。
执行卸载
openGauss提供了卸载脚本帮助用户完整的卸载openGauss。
操作步骤
以操作系统用户omm登录数据库主节点。
使用gs_uninstall卸载openGauss。
1、卸载openGauss
集群卸载
su - omm gs_uninstall --delete-data
复制
本地卸载
gs_uninstall --delete-data -L
复制
2、清理环境
一键式环境清理
在openGauss卸载完成后,如果不需要在环境上重新部署openGauss,可以运行脚本gs_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境准备脚本gs_preinstall所做设置的清理。
前提条件
openGauss卸载执行成功。
root用户互信可用。
只能使用root用户执行gs_postuninstall命令。
操作步骤
以root用户登录openGauss服务器。
查看root用户互信是否建立,如果root用户没有建立互信,需要手工建立root用户互信。
root用户
cd /opt/software/script ./gs_postuninstall -U omm -X /opt/software/og.xml --delete-user --delete-group
复制
问题解决
1、报错1
Traceback (most recent call last): File "/root/software/opengauss/opengauss/script/gspylib/common/Common.py", line 64, in <module> import psutil File "/root/software/opengauss/opengauss/script/gspylib/common/../../../lib/psutil/__init__.py", line 102, in <module> from . import _pslinux as _psplatform File "/root/software/opengauss/opengauss/script/gspylib/common/../../../lib/psutil/_pslinux.py", line 26, in <module> from . import _psutil_linux as cext ImportError: /root/software/opengauss/opengauss/script/gspylib/common/../../../lib/psutil/_psutil_linux.so: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/root/software/opengauss/opengauss/script/gs_preinstall", line 47, in <module> from gspylib.common.Common import DefaultValue File "/root/software/opengauss/opengauss/script/gspylib/common/Common.py", line 98, in <module> import psutil File "/root/software/opengauss/opengauss/script/gspylib/common/../../../lib/psutil/__init__.py", line 102, in <module> from . import _pslinux as _psplatform File "/root/software/opengauss/opengauss/script/gspylib/common/../../../lib/psutil/_pslinux.py", line 26, in <module> from . import _psutil_linux as cext ImportError: /root/software/opengauss/opengauss/script/gspylib/common/../../../lib/psutil/_psutil_linux.so: cannot open shared object file: No such file or directory
复制
- 解决
pip-3 install psutil netifaces cffi pycparser cryptography pynacl bcrypt paramiko -i https://pypi.tuna.tsinghua.edu.cn/simple
复制
重新执行
./gs_preinstall -U omm -G dbgrp -X /opt/software/og.xml --unused-third-party
复制