前言

2023年9月28日, openGauss 5.1.0 版本正式发布,内核四高能力持续增强,DataPod+DataKit 解决方案持续创新

📣 1.openGauss 5.1概述

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

📣 2.新特性

📣 3.官方说明及下载

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

📣 4.部署前准备

✨ 4.1 环境准备

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

##操作系统
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

##主机host设置
主库:hostnamectl set-hostname opengauss51M
备库:hostnamectl set-hostname opengauss51B

##内存
$ free -g
              total        used        free      shared  buff/cache   available
Mem:              3           0           2           0           0           2
Swap:             4           0           4

##字符集确认
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

将各数据库节点的字符集设置为相同的字符集
字符集修改可以在/etc/profile文件中添加export LANG=en_US.UTF-8

##host设置
vi /etc/hosts

192.168.6.11 opengauss51m
192.168.6.12 opengauss51b

✨ 4.1 yum配置

注:两个节点均做如下操作,请将操作系统镜像文件上传到服务器

##创建挂载目录
mkdir /cdrom

ls -lrt /opt/CentOS-7-x86_64-DVD-2009.iso

##挂载目录
mount -o loop /opt/CentOS-7-x86_64-DVD-2009.iso /cdrom

##yum源配置文件
cd /etc/yum.repos.d/
mkdir bak
mv CentOS* bak

##配置yum文件
vi local.repo

[base-local]
name=CentOS7-local
baseurl=file:///cdrom
enabled=1
gpgcheck=0

#清空并重载yum
yum clean all
yum makecache

##安装依赖包
yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel libnsl -y

✨ 4.3 关闭SeLinux

✨ 4.4 关闭防火墙

✨ 4.5 设置时区和时间

注:主备库均做如下操作

[root@opengauss51m ~]# timedatectl
      Local time: Sun 2023-10-01 07:29:16 CST
  Universal time: Sat 2023-09-30 23:29:16 UTC
        RTC time: Sat 2023-09-30 23:29:42
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
      

时区及时间不对,请按以下方法来处理
如下命令将各数据库节点/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置系统硬件时间
hwclock --set --date '2023-9-30 08:09:00'
同步系统硬件时间到系统时间
hwclock --hctosys


为了保证主备节点时间同步,需要设置ntp时间同步即可
yum install -y ntp

#没有联网的情况下,添加以下两条即可
--主库
vi /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 10

--备库同步主库
vi /etc/ntp.conf
server 192.168.6.11


启动ntp服务,并开机自启动
systemctl start ntpd
systemctl enable ntpd

[root@opengauss51m ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l    6   64    1    0.000    0.000   0.000

[root@opengauss51b ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 192.168.6.11    LOCAL(0)        11 u   12   64    1    0.763  -897.44   0.000

✨ 4.6 关闭RemoveIPC

✨ 4.7 root用户远程登录

CentOS操作系统可以跳过该步骤。

vi /etc/ssh/sshd_config
## 将"PermitRootLogin"改为"yes"
PermitRootLogin yes

## 注释掉"Banner"所在的行
#Banner none

## 重启生效
systemctl restart sshd.service

✨ 4.8 python安装

[root@opengauss51m ~]# python -V
Python 2.7.5

CentOS:支持Python 3.6.X,python需要通过--enable-shared方式编译
1.依赖包安装
[root@opengauss51m ~]# yum install -y zlib*
[root@opengauss51m ~]# rpm -qa | grep zlib
zlib-1.2.7-18.el7.x86_64
zlib-devel-1.2.7-18.el7.x86_64

--安装gcc
yum install gcc

2.安装包下载
python官网 https://www.python.org/downloads/release/python-3615/下载安装包即可
安装包为:Python-3.6.15.tgz

3.解压并编译
cd /opt
tar -zxvf Python-3.6.15.tgz
cd Python-3.6.15/
./configure --prefix=/usr/local/python3 --enable-shared

4.编译安装
make -j4
make install
注意:make编译时间比较长,耐心等待

5.OS上设置python的软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

6.环境校验
[root@opengauss51m ~]# python3 -V
Python 3.6.15

[root@opengauss51m ~]# python3
Python 3.6.15 (default, Sep 30 2023, 08:38:09) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

📣 5.一主一备安装

✨ 5.1 前提条件

✨ 5.2 安装包解压

注意:上传安装包到服务器/opt/openGauss,主节点操作即可
mkdir /opt/openGauss
mkdir /openGauss  --openGauss安装目录

##解压安装包
chmod 755 -R /opt/openGauss
cd /opt/openGauss
[root@opengauss51m openGauss]# tar -zxvf openGauss-5.1.0-CentOS-64bit-all.tar.gz
[root@opengauss51m openGauss]# ll
total 289664
-rw-r--r-- 1 root root 147430629 Sep 30 09:23 openGauss-5.1.0-CentOS-64bit-all.tar.gz
-rw-r--r-- 1 root root       105 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit-cm.sha256
-rw-r--r-- 1 root root  22293217 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit-cm.tar.gz
-rw-r--r-- 1 root root        65 Sep 28 00:25 openGauss-5.1.0-CentOS-64bit-om.sha256
-rw-r--r-- 1 root root  22681080 Sep 28 00:25 openGauss-5.1.0-CentOS-64bit-om.tar.gz
-rw-r--r-- 1 root root        65 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit.sha256
-rw-r--r-- 1 root root 103664183 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit.tar.bz2
-rw------- 1 root root        65 Sep 28 00:24 upgrade_sql.sha256
-rw------- 1 root root    522890 Sep 28 00:24 upgrade_sql.tar.gz

[root@opengauss51m openGauss]# tar -zxvf openGauss-5.1.0-CentOS-64bit-om.tar.gz
[root@opengauss51m openGauss]# ll
total 289676
drwxr-xr-x 19 root root      4096 Sep 28 00:25 lib
-rw-r--r--  1 root root 147430629 Sep 30 09:23 openGauss-5.1.0-CentOS-64bit-all.tar.gz
-rw-r--r--  1 root root       105 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit-cm.sha256
-rw-r--r--  1 root root  22293217 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit-cm.tar.gz
-rw-r--r--  1 root root        65 Sep 28 00:25 openGauss-5.1.0-CentOS-64bit-om.sha256
-rw-r--r--  1 root root  22681080 Sep 28 00:25 openGauss-5.1.0-CentOS-64bit-om.tar.gz
-rw-r--r--  1 root root        65 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit.sha256
-rw-r--r--  1 root root 103664183 Sep 28 00:26 openGauss-5.1.0-CentOS-64bit.tar.bz2
drwxr-xr-x 11 root root      4096 Sep 28 00:25 script
-rw-------  1 root root        65 Sep 28 00:24 upgrade_sql.sha256
-rw-------  1 root root    522890 Sep 28 00:24 upgrade_sql.tar.gz
-rw-r--r--  1 root root        32 Sep 28 00:25 version.cfg

✨ 5.3 XML配置文件

安装openGauss前需要创建cluster_config.xml文件。
cluster_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。

本次部署以一主一备的方式创建XML配置文件

## 配置数据库名称及各项目录,获取XML文件模板,按照实际环境配置
[root@opengauss51m ~]# find / -name cluster_config_template.xml
/opt/openGauss/script/gspylib/etc/conf/cluster_config_template.xml

[root@opengauss51m ~]# cd /opt/openGauss/script/gspylib/etc/conf/
[root@opengauss51m conf]# ll
total 28
-rwxr-xr-x 1 root root 1857 Sep 28 00:25 check_list.conf
-rwxr-xr-x 1 root root 1760 Sep 28 00:25 check_list_dws.conf
-rwxr-xr-x 1 root root 1437 Sep 28 00:25 cluster_config_template.xml
-rwxr-xr-x 1 root root  411 Sep 28 00:25 gs_collector.json
-rwxr-xr-x 1 root root  184 Sep 28 00:25 gs-OS-set.service
-rwxr-xr-x 1 root root 1834 Sep 28 00:25 guc_cloud_list.xml
-rwxr-xr-x 1 root root  930 Sep 28 00:25 guc_list.xml


编辑配置XML文件:
vi /opt/openGauss/cluster_config.xml

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- openGauss整体信息 -->
    <CLUSTER>
        <!-- 数据库名称 -->
        <PARAM name="clusterName" value="opengauss" />
        <!-- 数据库节点名称(hostname) -->
        <PARAM name="nodeNames" value="opengauss51m,opengauss51b" />
        <!-- 数据库安装目录,与数据库所需其它路径相互独立,没有包含关系-->
        <PARAM name="gaussdbAppPath" value="/openGauss/app" />
        <!-- 日志目录-->
        <PARAM name="gaussdbLogPath" value="/openGauss/log/omm" />
        <!-- 临时文件目录-->
        <PARAM name="tmpMppdbPath" value="/openGauss/tmp"/>
        <!-- 数据库工具目录-->
        <PARAM name="gaussdbToolPath" value="/openGauss/om" />
        <!-- 数据库core文件目录-->
        <PARAM name="corePath" value="/openGauss/corefile"/>
        <!-- 节点IP,与数据库节点名称列表一一对应 -->
        <PARAM name="backIp1s" value="192.168.6.11,192.168.6.12"/> 
    </CLUSTER>
    <!-- 每台服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- 节点1上的部署信息 -->
        <DEVICE sn="opengauss51m">
            <!-- 节点1的主机名称 -->
            <PARAM name="name" value="opengauss51m"/>
            <!-- 节点1所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.6.11"/>
            <PARAM name="sshIp1" value="192.168.6.11"/>
            
	      <!--dn-->
      		<PARAM name="dataNum" value="1"/>
	    		<PARAM name="dataPortBase" value="15400"/>
	    		<PARAM name="dataNode1" value="/openGauss/data/dn,opengauss51b,/openGauss/data/dn"/>
          <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>

        <!-- 节点2上的节点部署信息,其中"name"的值配置为主机名称 -->
        <DEVICE sn="opengauss51b">
            <!-- 节点2的主机名称 -->
            <PARAM name="name" value="opengauss51b"/>
            <!-- 节点2所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点2的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.6.12"/>
            <PARAM name="sshIp1" value="192.168.6.12"/>
				</DEVICE>
    </DEVICELIST>
</ROOT>

✨ 5.4 用户及组创建

✨ 5.5 初始化安装

注:只在主库上做操作即可,确保主库和备库root密码相同
安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件
rm –rf ~/.ssh

chmod 775 /openGauss -R
chown omm:dbgroup /openGauss -R

[root@opengauss51m ~]# cd /opt/openGauss/script
[root@opengauss51m script]# ./gs_preinstall -U omm -G dbgroup -X /opt/openGauss/cluster_config.xml

安装集群过程中,输入集群及omm用户密码:Gauss_123
/opt/openGauss/script/gs_checkos -i A -h opengauss51m,opengauss51b --detail

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

✨ 5.6 正式安装

#主库执行即可
在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码

设置的密码要符合复杂度要求:
最少包含8个字符,最多包含16个字符。
不能和用户名、当前密码(ALTER)、或当前密码反序相同。
至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。

##登录到openGauss的主机,并切换到omm用户
[root@opengauss51m ~]# su - omm
[omm@opengauss51m ~]$ ll /opt/openGauss/cluster_config.xml
-rw------- 1 omm dbgroup 2574 Sep 30 09:43 /opt/openGauss/cluster_config.xml

[omm@opengauss51m ~]$ gs_install -X /opt/openGauss/cluster_config.xml

此处指定数据库密码:Gauss_123

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!-LMLPHP

10-01 02:49