【实现openGauss5.0企业版一主一备搭建部署】

这篇具有很好参考价值的文章主要介绍了【实现openGauss5.0企业版一主一备搭建部署】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install


👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 前言

openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。
【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

  • 🔊 本次安装环境

[root@pg-node01 ~]# python3 -V
Python 3.6.8

[root@pg-node01 ~]# cat /proc/version
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@x86-vm-26.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 18 14:50:17 EDT 2020
[root@pg-node01 ~]#

[root@pg-node01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
[root@pg-node01 ~]#

🟢运行内存8G、磁盘空间60G🟢

🔻 一、安装前准备

🔰 1.1 openGauss安装包下载

openGauss安装包下载,这里选择openGauss_5.0.0 企业版。

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 1.2 安装环境准备

⛳ 1.2.1 硬件环境要求
项目 配置描述
内存 1、功能调试建议32GB以上。2、性能测试和商业部署时,单实例部署建议128GB以上。3、复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。
CPU 1、功能调试最小1×8核,2.0GHz。2、性能测试和商业部署时,单实例部署建议1×16核,2.0GHz。3、CPU超线程和非超线程两种模式都支持。📜 说明:目前,openGauss仅支持鲲鹏服务器和基于x86_64通用PC服务器的CPU。
硬盘 📜 用于安装openGauss的硬盘需最少满足如下要求:1、至少1GB用于安装openGauss的应用程序。2、每个主机需大约300MB用于元数据存储。3、预留70%以上的磁盘剩余空间用于数据存储。4、建议系统盘配置为RAID1,数据盘配置为RAID5,且规划4组RAID5数据盘用于安装openGauss。
网络要求 1、300兆以上以太网。2、建议网卡设置为双网卡冗余bond。
⛳ 1.2.2 软件环境要求
软件类型 配置描述
Linux操作系统 🔖 ARM:openEuler 20.03LTS(推荐采用此操作系统)、麒麟V10。 🔖x86:openEuler 20.03LTS、CentOS 7.6。说明:当前安装包只能在英文操作系统上安装使用。
Linux文件系统 剩余inode个数 > 15亿(推荐)
工具 bzip2
Python 支持Python3.6+


🟡 以下操作《 ⛳ 1.2.3 软件依赖要求 ~ ⛳1.2.12 配置Banner》在各节点执行(pg-node01,pg-node02)🟡



⛳ 1.2.3 软件依赖要求
所需软件 建议版本
libaio-devel 建议版本:0.3.109-13
flex 要求版本:2.5.31 以上
bison 建议版本:2.7-4
ncurses-devel 建议版本:5.9-13.20130511
glibc-devel 建议版本:2.17-111
patch 建议版本:2.7.1-10
redhat-lsb-core 建议版本:4.1
readline-devel 建议版本:7.0-13
libnsl(openEuler+x86环境中) 建议版本:2.28-36
###🟢使用yum来安装依赖包或者使用iso镜像挂载安装(小编采用镜像挂载安装有关依赖)
yum install -y java-1.8.0-openjdk* psmisc* bzip2*
yum install -y python3-devel* python3* lksctp*

yum install -y  yum install -y libaio-devel* flex* bison* ncurses-devel* glibc-devel* patch* readline-devel* redhat-lsb-core* expect* ntp*

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

⛳ 1.2.4 修改 hosts 和 hostname(pg-node01、pg-node02)
  • pg-node01

🟢 vi /etc/hosts

192.168.181.11 pg-node01
192.168.181.12 pg-node02

🟢 vi /etc/hostname
pg-node01

  • pg-node02

🟢 vi /etc/hosts

192.168.181.11 pg-node01
192.168.181.12 pg-node02

🟢 vi /etc/hostname
pg-node02

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

⛳ 1.2.5 关闭操作系统防火墙、selinux

目前openGauss仅支持在防火墙关闭的状态下进行安装

🟢 1、修改/etc/selinux/config文件中的SELINUX值为disabled
[root@pg-node01 ~]# vim /etc/selinux/config

🟢 2、修改SELINUX的值为disabled
SELINUX=disabled

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🟢 3、检查防火墙是否关闭
[root@pg-node01 ~]# systemctl status firewalld
若防火墙状态显示为active (running),则表示防火墙未关闭
若防火墙状态显示为inactive (dead),则无需再关闭防火墙

🟢 4、关闭防火墙并禁止开机重启
[root@pg-node01 ~]# systemctl disable firewalld.service
[root@pg-node01 ~]# systemctl stop firewalld.service

⛳ 1.2.6 设置字符集参数

###🟢 将数据库节点的字符集设置为en_US.UTF-8
echo LANG=en_US.UTF-8 >> /etc/profile
source /etc/profile
echo $LANG

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

⛳ 1.2.7 设置时区和时间

###🟢 查询时区
[root@pg-node01 ~]# timedatectl
[root@pg-node01 ~]# timedatectl list-timezones |grep Shanghai
[root@pg-node01 ~]# timedatectl set-timezone Asia/Shanghai

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🟢集群模式需要使用date -s命令将各主机的时间设置为统一时间。
[root@pg-node01 ~]# date -s " 2023-06-17 16:39:50 "

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🟢 通过date命令查询主机时区
[root@pg-node01 ~]# date
Sat Jun 17 16:41:03 CST 2023

⛳ 1.2.8 关闭swap交换内存(可选)

关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。

###🟢 使用swapoff -a命令将交换内存关闭—集群模式则需要各节点执行
###🟢 关闭交换内存命令
[root@pg-node01 ~]# swapoff -a

###🟢 开启交换内存命令
[root@pg-node01 ~]# swapon -a

⛳ 1.2.9 设置网卡MTU值(可选)

将各数据库节点的网卡MTU值设置为相同大小。对于x86,MTU值推荐1500;对于ARM,MTU值推荐8192

###🟢 查询服务器的网卡名称
[root@pg-node01 ~]# ifconfig
【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

###🟢 设置网卡MTU值设置为8192,---集群模式则需要各节点执行
[root@pg-node01 ~]# ifconfig ens33 mtu 8192

⛳ 1.2.10 关闭RemoveIPC

集群模式则需要各节点上执行,关闭RemoveIPC。CentOS操作系统无该参数,可以跳过该步骤。

###🟢 `关闭RemoveIPC`
[root@pg-node01 ~]# sed -i '/^RemoveIPC/d' /etc/systemd/logind.conf
[root@pg-node01 ~]# sed -i '/^RemoveIPC/d' /usr/lib/systemd/system/systemd-logind.service[root@pg-node01 ~]# echo "RemoveIPC=no"  >> /etc/systemd/logind.conf
[root@pg-node01 ~]# echo "RemoveIPC=no"  >> /usr/lib/systemd/system/systemd-logind.service
   	

###🟢重新加载配置参数
[root@pg-node01 ~]# systemctl daemon-reload
[root@pg-node01 ~]# systemctl restart systemd-logind

###🟢检查修改是否生效
[root@pg-node01 ~]# loginctl show-session | grep RemoveIPC
RemoveIPC=no
[root@pg-node01 ~]# systemctl show systemd-logind | grep RemoveIPC
RemoveIPC=no
[root@pg-node01 ~]#

⛳ 1.2.11 设置root用户远程登录(可选)

修改PermitRootLogin配置,允许root用户远程登录,root用户默认是可登录的,否则需要修改。

###🟢修改sshd_config文件
🟢vim /etc/ssh/sshd_config

###修改权限配置,可以使用以下两种方式实现
🟢1、 注释掉“PermitRootLogin no”
#PermitRootLogin no

🟢2、将“PermitRootLogin”改为“yes”
PermitRootLogin yes

⛳ 1.2.12 配置Banner

修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行。

###🟢 编辑sshd_config文件
vim /etc/ssh/sshd_config

###🟢 修改Banner配置,注释掉“Banner”所在的行
#Banner XXXX

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

###🟢 使设置生效
systemctl restart sshd.service

⛳ 1.2.13 了解安装用户及用户组

在安装openGauss过程中运行“gs_install”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔻 二、系统资源参数配置



🟡 以下操作《🔰 2.1 ~ 🔰 2.3 》在各节点执行(pg-node01,pg-node02)🟡



🔰 2.1 设置sysctl.conf

### 🟢 vi /etc/sysctl.conf 

net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.sctp.path_max_retrans = 10
net.sctp.max_init_retransmits = 10
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries2 = 12
net.ipv4.ip_local_reserved_ports = 15400-15407,20050-20057
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
kernel.sem = 250 6400000 1000 25600
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
vm.min_free_kbytes = 201318
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535
kernel.shmall = 1152921504606846720
kernel.shmmax = 18446744073709551615

🔰 2.2 配置资源限制

###🟢 `配置资源限制`
echo "* soft stack 3072" >> /etc/security/limits.conf
echo "* hard stack 3072" >> /etc/security/limits.conf
echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf
echo "* soft nproc unlimited" >> /etc/security/limits.d/90-nproc.conf
	    		 
###🟢 `查看配置`
tail -n 4 /etc/security/limits.conf
tail -n 1 /etc/security/limits.d/90-nproc.conf

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 2.3 关闭透明大页

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
  		 
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local[root@pg-node01 ~]# chmod +x /etc/rc.d/rc.local
[root@pg-node01 ~]# /usr/bin/sh /etc/rc.d/rc.local

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔻 三、预安装



🟡 以下操作《🔰 3.1 ~ 🔰 3.2》 在各节点执行(pg-node01,pg-node02)🟡



确保有关依赖是否安装完成,见【⛳ 1.2.3 软件依赖要求】。

🔰 3.1 创建安装用户omm和dbgrp用户组->(pg-node01,pd-node02执行)

🟢omm用户-----用于运行和维护openGauss数据库,在安装时有两种方式建立该用户。
🟢 1、安装过程自动创建初始用户—omm和dbgrp用户组(使用的这种方式---会导致openGauss安装后yum、ssh命令无法使用,所以先创建)。

🟢 2、先创建omm(zyl#2023)和dbgrp用户组-----则不会产生yum、ssh命令无法使用
groupadd -g 5001 dbgrp

useradd -u 5001 -g dbgrp omm

passwd omm

chown -R omm:dbgrp /opt

🔰 3.2 创建存放安装包的目录->(pg-node01,pd-node02执行)

以root用户登录待安装openGauss主机,按规划创建存放安装包的目录。

注意:

  • 不建议把安装包的存放目录规划到openGauss用户的根目录或其子目录下,可能导致权限问题。

  • openGauss用户须具有/opt/software/openGauss5.0目录的读写权限。

###🟢 创建安装目录
mkdir -p /opt/software/openGauss5.0
chmod 755 -R /opt/software/openGauss5.0

🔰 3.2 上传并解压安装包–》主节点(pg-node01执行)

在安装包所在的目录下,解压安装包openGauss-5.0.0-CentOS-64bit-all.tar.gz。

安装包解压后,会有OM安装包和Server安装包。

继续解压OM安装包,会在/opt/openGauss5.0/路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本。

###🟢 将openGauss-5.0.0安装包解压至 /opt/software/openGauss5.0/
[root@pg-node01 ~]# tar -zxvf openGauss-5.0.0-CentOS-64bit-all.tar.gz -C /opt/software/openGauss5.0/

###🟢 继续解压OM安装包
[root@pg-node01 ~]# cd /opt/software/openGauss5.0/
[root@pg-node01 openGauss5.0]# tar -zxvf openGauss-5.0.0-CentOS-64bit-om.tar.gz

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

###🟢 再次更改目录权限
chmod -R 777 /opt/software/openGauss5.0
【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 3.3 创建XML配置文件

官方一主一备配置文件模板:

###🟢 一主一备配置文件
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- openGauss整体信息 -->
    <CLUSTER>
        <!-- 数据库名称 -->
        <PARAM name="clusterName" value="Cluster_template" />
        <!-- 数据库节点名称(hostname) -->
        <PARAM name="nodeNames" value="node1_hostname,node2_hostname" />
        <!-- 数据库安装目录-->
        <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.0.1,192.168.0.2"/> 
    </CLUSTER>
    <!-- 每台服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- 节点1上的部署信息 -->
        <DEVICE sn="node1_hostname">
            <!-- 节点1的主机名称 -->
            <PARAM name="name" value="node1_hostname"/>
            <!-- 节点1所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.0.1"/>
            <PARAM name="sshIp1" value="192.168.0.1"/>
            
	    <!--dn-->
            <PARAM name="dataNum" value="1"/>
	    <PARAM name="dataPortBase" value="15400"/>
	    <PARAM name="dataNode1" value="/opt/huawei/install/data/dn,node2_hostname,/opt/huawei/install/data/dn"/>
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>

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

需要修改的地方:

🟢数据库节点名称
nodeNames value=node1_hostname
sn=node1_hostname
把value后面的值改为主机名

🟢 IP地址
节点IP,与数据库节点名称列表一一对应
backIp1s value=192.168.xxx.xxx
backIp1 value=192.168.xxx.xxx
sshIp1 value=192.168.xxx.xxx

🟢端口
dataPortBase value=15400

修改之后的模板:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- openGauss整体信息 -->
    <CLUSTER>
        <!-- 数据库名称 -->
        <PARAM name="clusterName" value="dbCluster" />
        <!-- 数据库节点名称(hostname) -->
        <PARAM name="nodeNames" value="pg-node01,pg-node02" />
        <!-- 数据库安装目录-->
        <PARAM name="gaussdbAppPath" value="/opt/software/openGauss5.0/install/app" />
        <!-- 日志目录-->
        <PARAM name="gaussdbLogPath" value="/var/log/omm" />
        <!-- 临时文件目录-->
        <PARAM name="tmpMppdbPath" value="/opt/software/openGauss5.0/tmp"/>
        <!-- 数据库工具目录-->
        <PARAM name="gaussdbToolPath" value="/opt/software/openGauss5.0/install/om" />
        <!-- 数据库core文件目录-->
        <PARAM name="corePath" value="/opt/software/openGauss5.0/corefile"/>
        <!-- 节点IP,与数据库节点名称列表一一对应 -->
        <PARAM name="backIp1s" value="192.168.181.11,192.168.181.12"/> 
    </CLUSTER>
    <!-- 每台服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- 节点1上的部署信息 -->
        <DEVICE sn="pg-node01">
            <!-- 节点1的主机名称 -->
            <PARAM name="name" value="pg-node01"/>
            <!-- 节点1所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.181.11"/>
            <PARAM name="sshIp1" value="192.168.181.11"/>
            
	    <!--dn-->
            <PARAM name="dataNum" value="1"/>
	    <PARAM name="dataPortBase" value="15600"/>
	    <PARAM name="dataNode1" value="/opt/software/openGauss5.0/install/data/dn,pg-node02,/opt/software/openGauss5.0/install/data/dn"/>
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>

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

###🟢 在/opt/openGauss5.0 路径下,创建一个名为 cluster_config.xml的文件

[root@pg-node01 openGauss5.0]# vim cluster_config.xml
【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 3.4 执行预安装脚本

在执行前置脚本gs_preinstall时,需要规划好openGauss配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。

###🟢 执行交互模式前置脚本,执行过程中自动创建操作系统root用户互信和omm用户互信
[root@pg-node01 ~]# cd /opt/software/openGauss5.0/script
[root@pg-node01 script]# ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss5.0/cluster_config.xml

###🟢 预安装过程
[root@pg-node01 script]#  ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss5.0/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.
Are you sure you want to create trust for root (yes/no)?yes
Please enter password for root
Password: 
Successfully created SSH trust for the root permission user.
Setting host ip env
Successfully set host ip env.
Distributing package.
Begin to distribute package to tool path.
Successfully distribute package to tool path.
Begin to distribute package to package path.
Successfully distribute package to package path.
Successfully distributed package.
Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes
Preparing SSH service.
Successfully prepared SSH service.
Installing the tools in the cluster.
Successfully installed the tools in the cluster.
Checking hostname mapping.
Successfully checked hostname mapping.
Creating SSH trust for [omm] user.
Please enter password for current user[omm].
Password: 
Checking network information.
All nodes in the network are Normal.
Successfully checked network information.
Creating SSH trust.
Creating the local key file.
Successfully created the local key files.
Appending local ID to authorized_keys.
Successfully appended local ID to authorized_keys.
Updating the known_hosts file.
Successfully updated the known_hosts file.
Appending authorized_key on the remote node.
Successfully appended authorized_key on all remote node.
Checking common authentication file content.
Successfully checked common authentication content.
Distributing SSH trust file to all node.
Distributing trust keys file to all node successfully.
Successfully distributed SSH trust file to all node.
Verifying SSH trust on all hosts.
Successfully verified SSH trust on all hosts.
Successfully created SSH trust.
Successfully created SSH trust for [omm] user.
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/openGauss5.0/script/gs_checkos -i A -h pg-node01,pg-node02 --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.
[root@pg-node01 script]# 

🔰 3.5 检查系统环境

[root@pg-node01 script]#  ./gs_checkos -i A -h pg-node01 --detail
Checking items:
    A1. [ OS version status ]                                   : Normal     
        [pg-node01]
        redhat_7.9_64bit
              
    A2. [ Kernel version status ]                               : Normal     
        The names about all kernel versions are same. The value is "3.10.0-1160.el7.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 ]                    : Normal     
        All values about system control  parameters are correct.
    A7. [ File system configuration status ]                    : Warning    
        [pg-node01]
        Warning reason: variable 'open files' RealValue '1024' ExpectedValue '1000000'
        Warning reason: variable 'max user processes' RealValue '7183' 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.     
    A11.[ Network card configuration status ]                   : Warning    
        [pg-node01]
BondMode Null
        Warning reason: network 'ens33' 'mtu' RealValue '1500' ExpectedValue '8192'

    A12.[ Time consistency status ]                             : Warning    
        [pg-node01]
        The NTPD not detected on machine and local time is "2023-07-05 23:39:23".

    A13.[ Firewall service status ]                             : Normal     
        The firewall service is stopped.                   
    A14.[ THP service status ]                                  : Normal     
        The THP service is stopped.                        
Total numbers:13. Abnormal numbers:0. Warning numbers:3.
[root@pg-node01 script]# 

🔻 四、开始安装openGauss数据库集群

  • omm指的是前置脚本gs_preinstall中-U参数指定的用户。
  • 安装脚本gs_install必须以前置脚本中指定的omm执行,否则,脚本执行会报错。
  • 前置条件:已成功执行前置脚本 gs_preinstall;所有服务器操作系统和网络均正常运行;用户需确保各个主机上的 locale 保持一致。

🔰 4.1 使用root用户修改目录属主为 omm:dbgrp

chmod -R 755 /opt/software/openGauss5.0/
chown -R omm:dbgrp /opt/software/openGauss5.0/

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 4.2 开始安装

###🟢 必须使用上面预安装指定的omm用户进行安装,omm用户为运行openGauss的用户。
###🟢 切换omm用户 --omm(zyl#2023)

[root@pg-node01 ~]# su - omm

###🟢 使用gs_install安装openGauss
[omm@pg-node01 ~]$ cd /opt/software/openGauss5.0/script/

[omm@pg-node01 script]$ gs_install -X /opt/software/openGauss5.0/cluster_config.xml

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

设置的密码要符合复杂度要求:

1、最少包含8个字符。
2、不能和用户名、当前密码(ALTER)、或当前密码反序相同。
3、 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符。
4、 安装过程中会生成ssl证书,证书存放路径为{gaussdbAppPath}/share/sslcert/om,其中{gaussdbAppPath}为openGauss配置文件中指定的程序安装目录。
5、日志文件路径下会生成两个日志文件:“gs_install-YYYY-MMDD_HHMMSS.log”和“gs_local-YYYY-MM-DD_HHMMSS.log”。

###🟢安装过程--(数据库密码zyl#2023)
[omm@pg-node01 script]$ gs_install -X /opt/software/openGauss5.0/cluster_config.xml
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/software/openGauss5.0/install/app/share/sslcert/om
NO cm_server instance, no need to create CA for CM.
Non-dss_ssl_enable, no need to create CA for DSS
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.
Successful check consistence of memCheck and coresCheck on all nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
The cluster status is Normal.
Successfully started cluster.
Successfully installed application.
end deploy..
[omm@pg-node01 script]$


--------------------------------✅至此openGauss一主一备安装成功

🔰 4.3 验证openGauss数据库

###🟢在omm用户下执行
[omm@pg-node01 ~]$ su - omm
[omm@pg-node01 openGauss5.0]$ gs_om -t status --detail
[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL

[  Datanode State   ]

    node     node_ip         port      instance                                           state
---------------------------------------------------------------------------------------------------------------
1  pg-node01 192.168.181.11  15600      6001 /opt/software/openGauss5.0/install/data/dn   P Primary Normal
2  pg-node02 192.168.181.12  15600      6002 /opt/software/openGauss5.0/install/data/dn   S Standby Normal
[omm@pg-node01 openGauss5.0]$

cluster_state : Normal ----表示已启动,可以正常使用,如果状态不是Normal表示不可用。

⛳ 4.3.1 查询openGauss各个节点信息
[omm@pg-node01 ~]$  gs_om -t status --all 
🟢或者使用🟢
#####🟢使用date标记,测试响应时间
[omm@pg-node01 ~]$  date && gs_om -t status --detail && date 
[omm@pg-node01 openGauss5.0]$ date && gs_om -t status --detail && date 
Thu Jul  6 13:13:22 EDT 2023
[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL

[  Datanode State   ]

    node     node_ip         port      instance                                           state
---------------------------------------------------------------------------------------------------------------
1  pg-node01 192.168.181.11  15600      6001 /opt/software/openGauss5.0/install/data/dn   P Primary Normal
2  pg-node02 192.168.181.12  15600      6002 /opt/software/openGauss5.0/install/data/dn   S Standby Normal
Thu Jul  6 13:13:25 EDT 2023
[omm@pg-node01 openGauss5.0]$ 


[omm@pg-node01 ~]$ 
⛳ 4.3.2 登录openGauss
[omm@pg-node01 openGauss5.0]$ gsql -d postgres -p 15600
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:07:56 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# 

🔻 五、设置pg-node02备机可读->(pg-node01,pd-node02执行)

备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。

🔰 5.1 先停止数据库服务

###🟢 openGauss数据库服务状态查看
[omm@pg-node01 ~]$ gs_om -t status
###🟢 停止openGauss数据库服务
[omm@pg-node01 ~]$ gs_om -t stop
###🟢 openGauss数据库服务状态再次检查
[omm@pg-node01 ~]$ gs_om -t status

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 5.2 postgres.conf 配置文件修改

分别打开主节点pg-node01与备机pd-node02的postgres.conf配置文件,找到并将对应参数修改为:
wal_level=hot_standby;hot_standby=on;hot_standby_feedback=on。

🟢 1、参数检查
[omm@pg-node01 ~]$ more /opt/software/openGauss5.0/install/data/dn/postgresql.conf | grep hot_standby
wal_level = hot_standby			# minimal, archive, hot_standby or logical
hot_standby = on			# "on" allows queries during recovery
#hot_standby_feedback = off		# send info from standby to prevent
[omm@pg-node01 ~]$ 

🟢 2、参数修改----主节点pg-node01与备机pd-node02都要修改
cat >>/opt/software/openGauss5.0/install/data/dn/postgresql.conf<<EOF
hot_standby_feedback = on
EOF

🟢 3、修改完成后,检查参数,重启数据库服务
###🟢检查参数是否修改成功
[omm@pg-node01 ~]$ more /opt/software/openGauss5.0/install/data/dn/postgresql.conf | grep hot_standby
###🟢开启openGauss数据库服务
[omm@pg-node01 ~]$  gs_om -t start
###🟢openGauss数据库服务状态查看
[omm@pg-node01 ~]$  gs_om -t status --detail
  • 🟢 参数修改结果

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

  • 🟢 数据库重启结果
    【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

🔰 5.3 主备功能测试

###🟢 1、切换至omm用户
[root@pg-node01 ~]# su - omm
###🟢 2、登录数据库postgres,端口15600
[omm@pg-node01 ~]$  gsql -d postgres -p 15600
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:07:56 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

####🟢查看 opengauss 数据库版本
openGauss=# select version(); 
                                                                       version                                                                        
------------------------------------------------------------------------------------------------------------------------------------------------------
 (openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:07:56 commit 0 last mr   on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
(1 row)

####🟢查看 opengauss 数据库的对应 pg 版本
openGauss=# show server_version;
 server_version 
----------------
 9.2.4
(1 row)

openGauss=# 

###🟢 3、pg-node01主库创建数据测试主备同步功能

####🟢创建t_user表,并插入9条人员数据
CREATE TABLE t_user(id int,name varchar,age int); 

INSERT INTO t_user(id, name, age) VALUES
(1001, 'Ross',17),
(1002, 'Julie',19),
(1003, 'Tom',20),
(1004, 'Joan',21),
(1005, 'Joes',18),
(1006, 'Lily',19),
(1007, 'Linda',17),
(1008, 'Kim',19),
(1009, 'Annie ',16);

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install

###🟢 4、pg-node02 备库库查询检测
###🟢 1、切换至omm用户
[root@pg-node01 ~]# su - omm
###🟢 2、登录数据库postgres,端口15600
[omm@pg-node01 ~]$  gsql -d postgres -p 15600
###🟢 3、查询检测
openGauss=# select * from t_user;

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install



--------------------------------✅至此openGauss一主一备搭建完成

🔻 六、openGauss简单使用

🔰 6.1 启停openGauss数据库服务

###🟢 停止openGauss数据库服务
[omm@pg-node01 ~]$ gs_om -t stop
###🟢 开启openGauss数据库服务
[omm@pg-node01 ~]$ gs_om -t start
###🟢 openGauss数据库服务状态查看
[omm@pg-node01 ~]$ gs_om -t status --detail
###🟢 重启openGauss数据库服务
[omm@pg-node01 ~]$ gs_om -t restart

🔰 6.2 安装生成的目录

安装后的目录及各目录下的文件。

【实现openGauss5.0企业版一主一备搭建部署】,数据库--openGauss,openGauss数据库,运维,openGauss数据库集群,一主一备,gs_preinstall,gs_checkos,gs_install文章来源地址https://www.toymoban.com/news/detail-527929.html

🔻 总结—温故知新

❓ 该章详细介绍和实现了openGauss5.0企业版一主一备集群搭建部署。
❓ 远程访问等配置见上一篇《【通过Data Studio连接openGauss】---快速入门》

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

到了这里,关于【实现openGauss5.0企业版一主一备搭建部署】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL - 读写分离、一主一从、双主双从

    读写分离 ,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。 MyCat实现读写分离的话,主要通过两个组件来实现: ​ readHost、writeHost 读写分离它的前提是基于主从复制 主

    2024年02月07日
    浏览(40)
  • Docker搭建MySQL8.0主从复制(一主一从)

    宿主机使用的版本为 19045 的win10专业版,MySQL使用的是8.0+,Docker容器使用Linux。 略 修改Docker默认安装路径 安装包自己就提供了修改安装路径的功能,CMD中运行: “Docker Desktop Installer.exe” install --installation-dir= --installation-dir=path : changes the default installation location ( C:Program Fil

    2024年01月25日
    浏览(42)
  • docker 搭建mysql集群一主一从,两台机器

    一、准备两条机器,分别为IP1和IP2,其中IP1为主,IP2为从 二、在两台机器上分别拉取mysql镜像 三、在home目录下新建目录,分别为/home/mysql/data,/home/mysql/conf 1、在IP1主机下的/home/mysql/conf目录下新建my.cnf文件,内容为 2、在IP2从机的/home/mysql/conf目录下新建my.cnf文件,内容为 四、在

    2024年01月24日
    浏览(48)
  • 【基于openGauss5.0.0简单使用DBMind】

    虚拟机:virtualbox 操作系统:openEuler 20.03 TLS 数据库:openGauss-5.0.0 DBMind:dbmind-5.0.0 注意 : 环境是基于x86架构 使用普通用户如 omm 登录服务器 执行如下命令下载测试数据库: 进入dbgen目录下,生成makefile文件: 连接openGauss数据库,创建tpch的database: 创建8张测试表,执行如下

    2024年02月04日
    浏览(35)
  • PHP从零实现区块链(网页版一)基本原型

    源码地址:PHP从零实现区块链(一)基本原型 - 简书 本例只是从网页版实现一下原理,源码非本人所写,只是将原帖的源码更改了一下,变成网页版。 因为只是通过php来了解一下区块链的基本原理,我就不搭建php的控制台实现了。 学习前的准备: 搭建php运行环境,这个我推

    2024年01月18日
    浏览(36)
  • openGauss企业版简化安装实战

    bilibili同步演示视频:https://www.bilibili.com/video/BV1JW4y1G7BV bilibili视频专栏:https://space.bilibili.com/282421760 数据库软件安装包获取:https://opengauss.org/zh/download/ 安装过程会提示输入数据库的密码,设置的密码要符合复杂度要求: 最少包含8个字符。 不能和用户名、当前密码(ALTER)

    2024年02月02日
    浏览(42)
  • openGauss 5.0企业版主从部署,实战狂飙

    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、

    2023年04月09日
    浏览(34)
  • openGauss 3.1企业版升级至5.0

    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、

    2024年02月06日
    浏览(31)
  • Golang 通用代码生成器仙童发布 2.4.0 电音仙女尝鲜版一及其介绍视频

    Golang 通用代码生成器仙童发布 2.4.0 电音仙女尝鲜版一及其介绍视频 Golang 通用代码生成器仙童已发布 2.4.0 电音仙女尝鲜版一及其介绍视频。视频请见:https://www.bilibili.com/video/BV1nu4y1K7sz/ 电音仙女版本支持日期和日期时间。支持三大部分生成功能群。支持枚举。支持哑数据模

    2024年02月03日
    浏览(43)
  • 【数据库集群】之一主一从

    集群架构设计的三个维度:可用性、扩展性、一致性 所谓mysql集群就是把多台数据库集成在一起提供数据库服务。 集群的目的: 负载均衡:解决高并发 高可用HA:服务可用性 远程备灾:数据有效性 对于数据库之上的业务层来说,基于 MySQL 的主从复制集群,单点写入 Master

    2024年02月01日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包