猿创征文|国产数据库-基于openEuler环境的opengauss企业版安装以及安装警告解决


前言

  • openEuler 是一个开源、免费的 Linux 发行版平台
    2021在操作系统产业峰会上,华为携手社区全体伙伴共同将欧拉开源操作系统(openEuler)正式捐赠给开放原子开源基金会。

  • openGauss是华为携手伙伴共同打造的企业级开源关系型数据库。采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。

  • 在openGauss未开源之前,gassdb数据库基本上就是在华为内部以及一些合作伙伴当中进行使用,那时候接触到GausssDB 100和gaussDB 200。国产化的推进,开源之后的openGauss也得到了大力推广,也时常会举办一些活动,逐渐被业内所熟知。

在这里插入图片描述
在这里插入图片描述

  • 工欲善其事,必先利其器,初学者需要在公司或者本地搭建一套openGauss数据库环境进行开发和测试时,网上的资料并不详尽,是很头疼的一件事。本文基于openEuler环境搭建opengauss企业版,分享一些个人的经验供大家参考。

环境概要

NameValue
主机名trexdb01
内网IP192.168.7.111
操作系统版本openEuler 20.03 LTS
数据库版本openGauss 3.1.0
数据库端口15400

1 操作系统准备

首先准备好openEuler环境,可以参考博主之前写过的一篇文章进行环境的部署,传送门:VMware安装openEuler-20.03系统图文安装教程

2 获取openGauss安装包

  1. 从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-corelibnsl两个包。

经过在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数据库已安装完成。

如果该文章有帮助到您,请 点赞 支持,谢谢!
有任何疑问,欢迎在评论中留言。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以使用以下步骤来在Docker中安装高斯数据库: 1. 首先,使用以下命令拉取高斯数据库的镜像: docker pull enmotech/opengauss:3.0.0 2. 创建一个存储数据的目录: mkdir -p /data/openguass/ 3. 使用以下命令创建一个高斯数据库的容器: docker run --name opengauss -d --restart always --privileged=true -e GS_PASSWORD=Admin@123456 -v /data/opengauss/mysql:/var/lib/opengauss -u root -p 15432:5432 enmotech/opengauss:3.0.0 4. 容器启动后,您可以使用以下命令来访问高斯数据库: docker run --name opengauss --privileged=true -p 5432:5432 -d -e GS_PASSWORD=Enmo@123 enmotech/opengauss:latest 请注意,上述步骤中的密码可以根据您的需求进行更改。另外,端口号5432是高斯数据库的默认端口号,您可以根据需要进行修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker中psql数据库备份与恢复详解](https://download.csdn.net/download/weixin_38571759/12898964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [猿创征文 | 使用Docker部署openGauss国产数据库](https://blog.csdn.net/jks212454/article/details/127158887)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于DOCKER安装华为自研数据库高斯(GAUSS)](https://blog.csdn.net/rudolfyan/article/details/121615129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值