文章目录
- 前言
- 环境概要
- 1 操作系统准备
- 2 获取openGauss安装包
- 3 查看操作系统版本
- 4 软件依赖包安装
- 5 修改操作系统配置
- 6 安装准备
- 7 正式安装
- 8 安装验证
前言
-
openEuler 是一个开源、免费的 Linux 发行版平台
2021在操作系统产业峰会上,华为携手社区全体伙伴共同将欧拉开源操作系统(openEuler)正式捐赠给开放原子开源基金会。 -
openGauss是华为携手伙伴共同打造的企业级开源关系型数据库。采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。
-
在openGauss未开源之前,gassdb数据库基本上就是在华为内部以及一些合作伙伴当中进行使用,那时候接触到GausssDB 100和gaussDB 200。国产化的推进,开源之后的openGauss也得到了大力推广,也时常会举办一些活动,逐渐被业内所熟知。
- 工欲善其事,必先利其器,初学者需要在公司或者本地搭建一套openGauss数据库环境进行开发和测试时,网上的资料并不详尽,是很头疼的一件事。本文基于openEuler环境搭建opengauss企业版,分享一些个人的经验供大家参考。
环境概要
Name | Value |
---|---|
主机名 | trexdb01 |
内网IP | 192.168.7.111 |
操作系统版本 | openEuler 20.03 LTS |
数据库版本 | openGauss 3.1.0 |
数据库端口 | 15400 |
1 操作系统准备
首先准备好openEuler环境,可以参考博主之前写过的一篇文章进行环境的部署,传送门:VMware安装openEuler-20.03系统图文安装教程
2 获取openGauss安装包
- 从openGauss开源社区下载对应平台的安装包。
点此进入openGauss开源社区下载页面,选择3.1.0版本
对应平台企业版安装包。
3 查看操作系统版本
登录到openEuler,查看openEuler的 20.03 LTS
cat /etc/os-release
4 软件依赖包安装
4.1 openGauss的软件依赖要求如下表所示
建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。
4.2 检查安装包
[root@trexdb01 ~]# rpm -q libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel libnsl
打印信息如下
如上图红色标记,not installed
即为未安装的依赖包
4.3 通过yum进行安装依赖包
可以看到,系统提示没有找到匹配的redhat-lsb-core
和libnsl
两个包。
经过在openEuler官方镜像仓库查看得知,openEuler不存在这个包,不影响后续安装数据库。
libnsl
对应的是libnsl2-1.2.0-4.oe1.x86_64.rpm
,所以安装时用libnsl2
[root@trexdb01 ~]# yum install -y libaio-devel ncurses-devel readline-devel libnsl2
Last metadata expiration check: 0:23:33 ago on Mon 03 Oct 2022 06:55:26 PM CST.
Dependencies resolved.
=============================================================================================================================================================================================================== Package Architecture Version Repository Size
===============================================================================================================================================================================================================Installing:
libaio-devel x86_64 0.3.111-5.oe1 OS 10 k
libnsl2 x86_64 1.2.0-4.oe1 OS 52 k
ncurses-devel x86_64 6.1-14.oe1 OS 643 k
readline-devel x86_64 7.0-13.oe1 OS 188 k
Transaction Summary
===============================================================================================================================================================================================================Install 4 Packages
Total size: 893 k
Installed size: 5.6 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : ncurses-devel-6.1-14.oe1.x86_64 1/4
Installing : readline-devel-7.0-13.oe1.x86_64 2/4
Installing : libnsl2-1.2.0-4.oe1.x86_64 3/4
Running scriptlet: libnsl2-1.2.0-4.oe1.x86_64 3/4
Installing : libaio-devel-0.3.111-5.oe1.x86_64 4/4
Running scriptlet: libaio-devel-0.3.111-5.oe1.x86_64 4/4
Verifying : libaio-devel-0.3.111-5.oe1.x86_64 1/4
Verifying : libnsl2-1.2.0-4.oe1.x86_64 2/4
Verifying : ncurses-devel-6.1-14.oe1.x86_64 3/4
Verifying : readline-devel-7.0-13.oe1.x86_64 4/4
Installed:
libaio-devel-0.3.111-5.oe1.x86_64 libnsl2-1.2.0-4.oe1.x86_64 ncurses-devel-6.1-14.oe1.x86_64 readline-devel-7.0-13.oe1.x86_64
Complete!
5 修改操作系统配置
5.1 关闭操作系统防火墙
为了在防火墙开启的状态下,确保openGauss的正常使用,用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss主机的防火墙白名单中。
目前仅支持在防火墙关闭的状态下进行安装。
5.1.1 关闭SELINUX
修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。
- 使用VIM打开config文件。
vi /etc/selinux/config
- 修改“SELINUX”的值“disabled”,执行:wq保存并退出修改。
SELINUX=disabled
- 重新启动操作系统
reboot
5.1.2 关闭firewalld防火墙
- 检查防火墙是否关闭
systemctl status firewalld
若防火墙状态显示为
active (running)
,则表示防火墙未关闭,请执行步骤上述步骤; 若防火墙状态显示为inactive > (dead),则无需再关闭防火墙。
- 关闭firewalld防火墙
systemctl stop firewalld.service
- 禁止防火墙开机重启
systemctl disable firewalld.service
6 安装准备
6.1 创建安装目录
以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
说明:
不建议把安装包的存放目录规划到openGauss用户的根目录或其子目录下,可能导致权限问题。
openGauss用户须具有/opt/software/openGauss目录的读写权限。
6.2 上传安装包
将安装包“openGauss-x.x.x-openEuler-64bit-all.tar.gz”上传至上一步所创建的/opt/software/openGauss
目录中。
6.3 解压
cd /opt/software/openGauss
tar -zxvf openGauss-3.1.0-openEuler-64bit-all.tar.gz
tar -zxvf openGauss-3.1.0-openEuler-64bit-om.tar.gz
6.4 适配python版本
进入到工具脚本存放目录下
cd /opt/software/openGauss/script
如果是openEuler的操作系统为确保适配python版本,执行如下命令打开gspylib/common/CheckPythonVersion.py文件,将if not pythonVersion = = (3, 6):
修改为if not pythonVersion > = (3, 6):
,键入“ESC”键进入指令模式,执行:wq保存并退出修改。
vi gspylib/common/CheckPythonVersion.py
6.5 修改performance.sh文件内容
如果是openEuler的操作系统,执行如下命令打开performance.sh文件,用#注释sysctl -w vm.min_free_kbytes=112640 &> /dev/null
,键入“ESC”键进入指令模式,执行:wq
保存并退出修改。
vi /etc/profile.d/performance.sh
6.6 检查主机名信息
为确保成功安装,检查hostname与/etc/hostname是否一致。预安装过程中,会对hostname进行检查。
hostname
cat /etc/hosts
6.7 设置字符集参数
将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加“export LANG=XXX”(XXX为Unicode编码)。
- 设置字符集
vi /etc/profile
追加如下内容
export LANG=en_US.UTF-8
- 使参数生效
source /etc/profile
6.8 设置时区和时间
-
通过
date
命令查询主机时间
-
查看时区
ll /etc/localtime
比如我这里显示的Asia/Shanghai
时区
- 设置时区
可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。
cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime
例:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
说明:
$地区/$时区为需要设置时区的信息,例如:Asia/Shanghai。
6.9 设置时间
使用date -s命令将设置服务器时间,例:
date -s "2022/10/03 19:39:20"
6.10 关闭swap交换内存
说明:
关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。
如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。
在各数据库节点上,使用swapoff -a命令将交换内存关闭。
swapoff -a
6.11 设置网卡MTU值
将各数据库节点的网卡MTU值设置为相同大小。
ifconfig | grep mtu
使用如下命令将各数据库节点的网卡MTU值设置为相同大小,MTU值推荐8192。
官网提供如下修改方式:
ifconfig 网卡编号 mtu 值
例:
如上图所示,我这里的网卡名是ens32
,所以修改命令如下
ifconfig ens32 mtu 8192
但官网的这种修改方式,在服务器重启后,mtu又会恢复到1500
想要永久生效,最好写到网卡的配置文件中,方法如下
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens32
在文末追加 MTU="8192"
,重启生效
6.12 关闭RemoveIPC
说明:
- 如果是CentOS操作系统默认为关闭,可以跳过该步骤;
- 如果是openEuler操作系统需要修改。
6.12.1 修改logind.conf文件
- 使用vi打开logind.conf文件。
vi /etc/systemd/logind.conf
- 修改“RemoveIPC”值为“no”。
RemoveIPC=no
6.12.2 修改systemd-logind.service文件
- 使用vi打开systemd-logind.service文件。
vi /usr/lib/systemd/system/systemd-logind.service
- 修改“RemoveIPC”值为“no”
文件中没有配置参数,追加到文件的末尾即可
RemoveIPC=no
6.12.3 重新加载配置参数
systemctl daemon-reload
systemctl restart systemd-logind
6.12.4 检查修改是否生效
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
6.13 关闭HISTORY记录(可选,建议安装完成后再修改)
说明:
- 为避免指令历史记录安全隐患,需关闭各主机的history指令。
- 设置后,使用箭头上下翻命令会受限
- 步骤 1 修改根目录下/etc/profile文件。
vi /etc/profile
- 步骤 2 设置HISTSIZE值为0。
例如,系统中HISTSIZE默认值为1000,将其修改为0。
HISTSIZE=0
- 步骤 3 保存/etc/profile。
:wq
- 步骤 4 设置/etc/profile生效。
source /etc/profile
6.14 设置root用户远程登录
在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。
说明:
数据库需要root互信时才开启远程连接。在各主机操作完成并且验证完毕后请及时注销root用户,避免误操作。
修改PermitRootLogin配置,允许用户远程登录。
新安装的系统默认是正常的,可以不用设置。
- 打开sshd_config文件。
vi /etc/ssh/sshd_config
- 修改权限配置,可以使用以下两种方式实现:
方式1:注释掉“PermitRootLogin no”。
#PermitRootLogin no
方式2:将“PermitRootLogin”改为“yes”。
PermitRootLogin yes
- 执行
:wq
保存并退出编辑页面。
6.15 修改Banner配置
去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行。
- 编辑sshd_config文件。
vi /etc/ssh/sshd_config
- 修改Banner配置,注释掉“Banner”所在的行。
新安装的系统默认是正常的,可以不用设置。
#Banner XXXX
-
执行
:wq
保存并退出编辑页面。 -
使用如下命令使设置生效。
systemctl restart sshd.service
- 以root用户身份重新登录。
ssh xxx.xxx.xxx.xxx
说明:
xxx.xxx.xxx.xxx为安装openGauss环境的IP地址。
6.16 安装用户及用户组
为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。
在安装openGauss过程中运行“gs_preinstall”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。
6.17 创建XML配置文件
安装openGauss前需要创建cluster_config.xml文件。cluster_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场景配置对应的XML文件。
下面以单机的方案为例,说明如何创建XML配置文件。
在安装包所在的目录下,解压安装包openGauss-3.1.0-openEuler-64bit-all.tar.gz。安装包解压后,会有OM安装包和Server安装包。继续解压OM安装包,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本。
说明:
在执行前置脚本gs_preinstall时,需要规划好openGauss配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。
运行前置脚本gs_preinstall准备安装环境时,脚本内部会自动在执行前置脚本或者互信前,请检查/etc/profile文件中是否包含错误输出信息,如果存在错误输出,需手动处理。
配置数据库名称及各项目录
在script/gspylib/etc/conf/cluster_config_template.xml获取XML文件模板。以下配置内容为示例,可自行替换。每行信息均有注释进行说明。
vi /opt/software/openGauss/cluster_config.xml
如下是需要修改的地方,有详细注释,后面有具体的文本内容
文本内容:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- 整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="openGauss" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="trexdb01" />
<!-- 数据库安装目录-->
<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,与nodeNames一一对应 -->
<PARAM name="backIp1s" value="192.168.7.111"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的节点部署信息 -->
<DEVICE sn="opengauss1">
<!-- 节点1的hostname -->
<PARAM name="name" value="trexdb01"/>
<!-- 节点1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.7.111"/>
<PARAM name="sshIp1" value="192.168.7.111"/>
<!-- 配置数据库节点信息 -->
<PARAM name="dataNum" value="1"/>
<!-- 数据库节点的基础端口号 -->
<PARAM name="dataPortBase" value="15400"/>
<!-- 用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。 -->
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
<!-- 可选参数,用于指定当前数据库中同步模式的节点数目。取值范围为0~数据库备机节点数。 -->
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
6.18 采用交互模式执行前置
- 进入script目录
cd /opt/software/openGauss/script
- 执行前置
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
打印信息如下
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[omm] (yes/no)? yes
Please enter password for cluster user.
Password:
Please enter password for cluster user again.
Password:
Generate cluster user password files successfully.
Successfully created [omm] user on all nodes.
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
Warning: Installation environment contains some warning messages.
Please get more details by "/opt/software/openGauss/script/gs_checkos -i A -h trexdb01 --detail".
Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
Setting user environmental variables.
Successfully set user environmental variables.
Setting the dynamic link library.
Successfully set the dynamic link library.
Setting Core file
Successfully set core path.
Setting pssh path
Successfully set pssh path.
Setting Cgroup.
Successfully set Cgroup.
Set ARM Optimization.
No need to set ARM Optimization.
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.
细心的朋友可能会发现,上述信息中出现警告信息:
Warning: Installation environment contains some warning messages.
Please get more details by "/opt/software/openGauss/script/gs_checkos -i A -h trexdb01 --detail".
提示我们执行/opt/software/openGauss/script/gs_checkos -i A -h trexdb01 --detail
查看详情(这些警告信息可以忽略,如果不想忽略,请查看后续详细解决方法)。
[root@trexdb01 script]# /opt/software/openGauss/script/gs_checkos -i A -h trexdb01 --detail
Checking items:
A1. [ OS version status ] : Normal
[trexdb01]
openEuler_20.03_64bit
A2. [ Kernel version status ] : Normal
The names about all kernel versions are same. The value is "4.19.90-2003.4.0.0036.oe1.x86_64".
A3. [ Unicode status ] : Normal
The values of all unicode are same. The value is "LANG=en_US.UTF-8".
A4. [ Time zone status ] : Normal
The informations about all timezones are same. The value is "+0800".
A5. [ Swap memory status ] : Normal
The value about swap memory is correct.
A6. [ System control parameters status ] : Warning
[trexdb01]
Warning reason: variable 'net.ipv4.tcp_retries1' RealValue '3' ExpectedValue '5'.
Warning reason: variable 'net.ipv4.tcp_syn_retries' RealValue '6' ExpectedValue '5'.
Check_SysCtl_Parameter warning.
A7. [ File system configuration status ] : Warning
[trexdb01]
Warning reason: variable 'open files' RealValue '1024' ExpectedValue '1000000'
Warning reason: variable 'max user processes' RealValue '13507' ExpectedValue 'unlimited'
A8. [ Disk configuration status ] : Normal
The value about XFS mount parameters is correct.
A9. [ Pre-read block size status ] : Normal
The value about Logical block size is correct.
A10.[ IO scheduler status ] : Normal
The value of IO scheduler is correct.
BondMode Null
A11.[ Network card configuration status ] : Warning
[trexdb01]
BondMode Null
Warning reason: network 'ens32' 'mtu' RealValue '1500' ExpectedValue '8192'
A12.[ Time consistency status ] : Warning
[trexdb01]
The NTPD not detected on machine and local time is "2022-10-03 21:27:35".
A13.[ Firewall service status ] : Normal
The firewall service is stopped.
A14.[ THP service status ] : Normal
The THP service is stopped.
Total numbers:14. Abnormal numbers:0. Warning numbers:4.
根据提示
其中A6、 A7、 A11、A12有警告
6.19 警告信息处理
6.19.1 关于A6警告信息的处理
操作系统参数设置
echo net.ipv4.tcp_retries1 = 5 >>/etc/sysctl.conf
echo net.ipv4.tcp_syn_retries = 5 >>/etc/sysctl.conf
使参数生效
sysctl -p
6.19.2 关于A7警告信息的处理
ulimit -a
echo "* soft nofile 1000000" >>/etc/security/limits.conf
echo "* hard nofile 1000000" >>/etc/security/limits.conf
重新打开一个会话窗口
6.19.3 关于A11警告信息的处理
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens32
在文末追加 MTU="8192"
,重启生效。
6.19.4 关于A12警告信息的处理
- 查看ntp状态,结果发现ntp没有安装
systemctl status ntpd
- 安装ntp服务
yum install -y ntp
打印信息如下
Last metadata expiration check: 0:24:47 ago on Mon 03 Oct 2022 10:15:27 PM CST.
Dependencies resolved.
=============================================================================================================================================================================================================== Package Architecture Version Repository Size
===============================================================================================================================================================================================================Installing:
ntp x86_64 4.2.8p13-5.oe1 OS 597 k
Installing weak dependencies:
ntpstat noarch 0.5-3.oe1 OS 10 k
Transaction Summary
===============================================================================================================================================================================================================Install 2 Packages
Total size: 607 k
Installed size: 1.8 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : ntpstat-0.5-3.oe1.noarch 1/2
Running scriptlet: ntp-4.2.8p13-5.oe1.x86_64 2/2
Installing : ntp-4.2.8p13-5.oe1.x86_64 2/2
Running scriptlet: ntp-4.2.8p13-5.oe1.x86_64 2/2
Verifying : ntp-4.2.8p13-5.oe1.x86_64 1/2
Verifying : ntpstat-0.5-3.oe1.noarch 2/2
Installed:
ntp-4.2.8p13-5.oe1.x86_64 ntpstat-0.5-3.oe1.noarch
Complete!
- 查看ntp服务状态
systemctl status ntpd
返回信息如下:
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
显示没有启动
- 启动ntp
systemctl start ntpd
- 设置ntpd开机自启
systemctl enable ntpd
- 查看ntp服务状态
systemctl status ntpd
返回信息如下:
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-10-03 22:41:56 CST; 23s ago
Main PID: 4401 (ntpd)
Tasks: 2
Memory: 772.0K
CGroup: /system.slice/ntpd.service
└─4401 /usr/sbin/ntpd -u ntp:ntp -g
Oct 03 22:41:56 trexdb01 ntpd[4401]: gps base set to 2020-03-15 (week 2097)
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listen and drop on 0 v6wildcard [::]:123
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listen normally on 2 lo 127.0.0.1:123
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listen normally on 3 ens32 192.168.7.111:123
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listen normally on 4 lo [::1]:123
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listen normally on 5 ens32 [fe80::eb9c:799a:d9d3:68d9%2]:123
Oct 03 22:41:56 trexdb01 ntpd[4401]: Listening on routing socket on fd #22 for interface updates
Oct 03 22:41:56 trexdb01 ntpd[4401]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Oct 03 22:41:56 trexdb01 ntpd[4401]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
6.20 处理完成警告信息后续操作
现在解决完成警告信息后,你可以选择重新采用交互模式执行前置脚本
执行脚本前,需要简单的清理一下环境
6.20.1 删除安装目录
rm -rf /opt/huawei
6.20.2 删除用户omm
omm用户是之前执行前置脚本时自动创建的
userdel -r omm
6.20.3 重新采用交互模式执行前置
- 进入script目录
cd /opt/software/openGauss/script
- 执行前置脚本
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
打印信息如下:
这次完全通过,无任何警告信息。
7 正式安装
上面的preinstall完成之后,此步很容易就可以成功,主要是注意输入密码时要符合密码复杂度要求即可。
7.1 切换到omm用户
su - omm
7.2 自定义参数安装
gs_install -X /opt/software/openGauss/cluster_config.xml \
--gsinit-parameter="--encoding=UTF8" \
--dn-guc="max_connections=500" \
--dn-guc="max_process_memory=2GB" \
--dn-guc="shared_buffers=256MB" \
--dn-guc="bulk_write_ring_size=256MB" \
--dn-guc="cstore_buffers=256MB"
打印信息如下:
Parsing the configuration file.
Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
begin deploy..
Installing the cluster.
begin prepare Install Cluster..
Checking the installation environment on all nodes.
begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
begin init Instance..
encrypt cipher and rand files for database.
Please enter password for database:
Please repeat for database:
begin to create CA cert files
The sslcert will be generated in /opt/huawei/install/app/share/sslcert/om
NO cm_server instance, no need to create CA for CM.
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
Check consistence of memCheck and coresCheck on database nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
Successfully started cluster.
Successfully installed application.
end deploy..
[omm@trexdb01 ~]$
- 在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。
设置的密码要符合复杂度要求:
- 最少包含8个字符。
- 不能和用户名、当前密码(ALTER)、或当前密码反序相同。
- 至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符。
-
安装过程中会生成ssl证书,证书存放路径为
{gaussdbAppPath}/share/sslcert/om
,其中{gaussdbAppPath}
为openGauss配置文件中指定的程序安装目录。本文环境中对应的路径是是/opt/huawei/install/app
-
日志文件路径下会生成两个日志文件:“
gs_install-YYYY-MMDD_HHMMSS.log
”和“gs_local-YYYY-MM-DD_HHMMSS.log
”。
本文环境中对应的路径是是/var/log/omm
openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/utf8/utf-8和Latine1/latine1。
安装时若不指定字符集,默认字符集为SQL_ASCII,为简化和统一区域loacle默认设置为C,若想指定其他字符集和区域,请在安装时使用参数–gsinit-parameter=“–locale=LOCALE”来指定,LOCALE为新数据库设置缺省的区域。
8 安装验证
8.1 查看数据库启动状态
通过openGauss提供的gs_om工具可以完成数据库状态检查。
操作步骤
以omm用户身份登录服务器。
执行如下命令检查数据库状态是否正常,“cluster_state ”显示“Normal”表示数据库可正常使用。
gs_om -t status --detail
如上部署了数据库实例的服务器IP地址分别为192.168.7.111
。数据库的端口是15400
,数据库数据路径为“/opt/huawei/install/data/dn
”。“P
”表示安装时指定的角色为Primary
,数据库安装后不再变化,从系统静态文件读取;“Primary
”表示实例为主实例;“Normal
”表示openGauss可用。
8.2 登录数据库
数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。
其中postgres为需要连接的数据库名称,15400
为数据库主节点的端口号,即XML配置文件中的dataPortBase
的值。请根据实际情况替换。
gsql -d postgres -p 15400
连接成功后,系统显示类似如下信息表示数据库连接成功。
上述命令中,
postgres
为openGauss安装完成后默认生成的数据库。初始可以连接到此数据库进行新数据库的创建。15400为数据库主节点的端口号,需根据openGauss的配置的实际情况做替换。
8.3 查询测试
比如,我们查询当前时间
至此,openGauss数据库已安装完成。
如果该文章有帮助到您,请 点赞 支持,谢谢!
有任何疑问,欢迎在评论中留言。