openGauss5.0.1 企业版主备节点部署(CentOS7)

2024年 2月 18日 53.7k 0

软件版本

    操作系统:CentOS7.9(主:192.168.68.103、备:192.168.68.104)

        Linux文件系统:剩余inode个数 > 15亿(推荐) # df -i

    数据库:openGauss5.0.1

一、安装前准备

1.1 安装包下载

    官方下载地址:https://opengauss.org/zh/download/

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

    openGauss5.0.1 企业版主备节点部署(CentOS7)-1

1.2 安装Python3

    CentOS7部署openGauss需要python3.6版本。

    下载地址:https://cdn.npmmirror.com/binaries/python/3.6.15/Python-3.6.15.tar.xz

安装依赖软件

    yum install -y gcc make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

解压源码、编译安装

    tar -xvf Python-3.6.15.tar.xz

    cd Python-3.6.15

    ./configure --prefix=/usr/local/python3 --enable-shared

    make && make install

将原来python备份

    mv /usr/bin/python /usr/bin/python.bak

添加python3的软链接

    ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

    ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

修改yum使用python版本

    由于yum使用python的版本2,所以将下面两个文件的第一行 #!/usr/bin/python 修改为 #!/usr/bin/python2

    vi /usr/bin/yum

    vi /usr/libexec/urlgrabber-ext-down

修改环境变量

    vi /etc/profile

    export LD_LIBRARY_PATH=/usr/local/python3/lib:$LD_LIBRARY_PATH

    source /etc/profile

    或者,直接将lib文件复制到/usr/lib64目录下,如下:

    cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64/

1.2 安装环境准备

    主备两台服务器(GsDb5Srv103、GsDb5Srv104)分别进行如下准备。

1.2.1 硬件环境要求

    openGauss5.0.1 企业版主备节点部署(CentOS7)-2

1.2.2 软件环境要求

    openGauss5.0.1 企业版主备节点部署(CentOS7)-3

1.2.3 软件依赖要求

    openGauss5.0.1 企业版主备节点部署(CentOS7)-4

    yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel zlib readline bzip2 expect vim tar tree

1.2.4 修改hosts和hostname

    openGauss5.0.1 企业版主备节点部署(CentOS7)-5

    openGauss5.0.1 企业版主备节点部署(CentOS7)-6

1.2.5 关闭操作系统防火墙、SELINUX

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

  1. 修改/etc/selinux/config文件中的SELINUX值为disabled
    [root@GsDb5Srv103 ~]# vi /etc/selinux/config

    setenforce 0 #即时生效,否则需要重启系统 getenforce

    查看状态:/usr/sbin/sestatus
2、检查防火墙是否关闭
    [root@GsDb5Srv103 ~]# systemctl status firewalld
        若防火墙状态显示为active (running),则表示防火墙未关闭
        若防火墙状态显示为inactive (dead),则无需再关闭防火墙
3、关闭防火墙并禁止开机重启
    [root@GsDb5Srv103 ~]# systemctl stop firewalld
    [root@GsDb5Srv103 ~]# systemctl disable firewalld

1.2.6 设置字符集参数

    将数据库各节点设置为相同的字符集(zh_CN.UTF-8、en_US.UTF-8)
    echo "export LANG=en_US.UTF-8" >> /etc/profile

    echo "export LC_CTYPE=en_US.UTF-8" >> /etc/profile
    source /etc/profile
    echo $LANG $LC_CTYPE

1.2.7 设置时区和时间

查询时区
    [root@GsDb5Srv103 ~]# timedatectl

    openGauss5.0.1 企业版主备节点部署(CentOS7)-7
    # timedatectl list-timezones | grep Shanghai
    # timedatectl set-timezone Asia/Shanghai

    如果数据库各节点时间不一致,可建立内部时间服务器(建议:chrony),或者使用date -s命令将各数据库节点的时间设置为统一时间,举例如下。

    date -s "Sat Sep 27 16:00:07 CST 2020"

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

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

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

    openGauss5.0.1 企业版主备节点部署(CentOS7)-8
    如果需要开启交换内存,则执行如下命令
    [root@GsDb5Srv103 ~]# swapon -a

1.2.9 设置网卡MTU值(可选)

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

    查询服务器的网卡名称
    [root@GsDb5Srv102 ~]# ifconfig
    设置网卡MTU值设置为8192,---集群模式则需要各节点执行
    [root@GsDb5Srv102 ~]# ifconfig ens160 mtu 8192

    openGauss5.0.1 企业版主备节点部署(CentOS7)-9

    注:上述操作只能临时修改,永久修改如下

    # vi /etc/sysconfig/network-scripts/ifcfg-ens160

    #增加如下内容

    MTU="8192"

1.2.10 关闭RemoveIPC

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

    在各数据库节点上,关闭RemoveIPC。CentOS操作系统默认为关闭,可以跳过该步骤。

    1.修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”。

        a. 使用VIM打开logind.conf文件。

        vim /etc/systemd/logind.conf

        b. 修改“RemoveIPC”值为“no”。

        RemoveIPC=no

    2.修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC”值为“no”。

        a. 使用VIM打开systemd-logind.service文件。

        vim /usr/lib/systemd/system/systemd-logind.service

        b. 修改“RemoveIPC”值为“no”。

        RemoveIPC=no

    3.重新加载配置参数。

        systemctl daemon-reload

        systemctl restart systemd-logind

    4.检查修改是否生效。

        loginctl show-session | grep RemoveIPC

        systemctl show systemd-logind | grep RemoveIPC

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
    使设置生效
    systemctl restart sshd

1.2.13 了解安装用户及用户组

    为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。

    openGauss5.0.1 企业版主备节点部署(CentOS7)-10

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

1.2.14 关闭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

1.2.15 创建相关目录

说明:

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

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

创建用户和用户组

    groupadd dbgrp

    useradd -g dbgrp omm

    passwd omm

创建相关目录

    mkdir -p /opt/software/openGauss /opt/openGauss /data/dn

修改相关目录属主

    chown -R omm.dbgrp /opt/software/openGauss /opt/openGauss /data

1.2.16 配置SSH免密登录

    openGauss在安装过程中,需要在openGauss中的主机间执行命令、传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。

    root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。

    #配置root用户的SSH免密登录

    #GsDb5Srv103(192.168.68.103)

        ssh-keygen -t rsa

        ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.68.104

        ssh root@192.168.68.104

    #GsDb5Srv104(192.168.68.104)

        ssh-keygen -t rsa

        ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.68.103

        ssh root@192.168.68.103

    #配置omm用户的SSH免密登录

    #GsDb5Srv103(192.168.68.103)

        su - omm

        ssh-keygen -t rsa

        ssh-copy-id -i ~/.ssh/id_rsa.pub omm@192.168.68.104

        ssh omm@192.168.68.104

    #GsDb5Srv104(192.168.68.104)

        su - omm

        ssh-keygen -t rsa

        ssh-copy-id -i ~/.ssh/id_rsa.pub omm@192.168.68.103

        ssh omm@192.168.68.103

    注:部署完成后删除openGauss数据库各节点上的互信相关文件/root/.ssh

        su - root

        rm –rf ~/.ssh

二、系统资源参数配置

2.1 设置sysctl.conf

    操作系统参数设置如下,其他配置项由预安装脚本自动设置。

    vi /etc/sysctl.conf

        net.ipv4.tcp_retries1=5

        net.ipv4.tcp_syn_retries=5

        net.ipv4.tcp_synack_retries=5

        net.ipv4.ip_local_port_range = 26000 65535

        net.ipv4.tcp_fin_timeout=60

        net.ipv4.tcp_sack=1

        net.ipv4.tcp_timestamps=1

        vm.extfrag_threshold=500

        vm.overcommit_ratio=90

    使设置生效:sysctl -p

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

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

    chmod +x /etc/rc.d/rc.local

    /usr/bin/sh /etc/rc.d/rc.local

三、预安装

    预安装即运行脚本gs_preinstall执行相关检测和设置。

3.1 上传并解压安装包

    解压安装包openGauss-5.0.1-CentOS-64bit-all.tar.gz,到软件存放目录:

        tar -xvf openGauss-5.0.1-CentOS-64bit-all.tar.gz -C /opt/software/openGauss/

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

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

        cd /opt/software/openGauss

        tar -xvf openGauss-5.0.1-CentOS-64bit-om.tar.gz

    更改目录权限
    chown -R omm.dbgrp /opt/software/openGauss

    openGauss5.0.1 企业版主备节点部署(CentOS7)-11

3.2 创建XML配置文件

    使用官方提供的配置文件模版修改:

    cp /opt/software/openGauss/script/gspylib/etc/conf/cluster_config_template.xml /opt/software/openGauss/cluster_config.xml

配置文件如下:

    

    

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

    

    

    

        

        

            

            

            

            

            

            

            

            

            

           

            

            

            

            

            

            

            

            

            

            

            

            

            

        

        

        

            

            

            

            

            

            

            

            

        

    

3.3 执行预安装脚本

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

    执行交互模式前置脚本,执行过程中自动创建操作系统root用户互信和omm用户互信。

    [root@GsDb5Srv103 openGauss]# ./script/gs_preinstall -U omm -G dbgrp -X ./cluster_config.xml --non-interactive

        -U omm:表示使用omm作为用户。

        -G dbgrp:表示使用dbgrp作为用户组。

        -X cluster_config.xml:表示使用config.xml作为配置文件。

    注;之前手工配了互信的话就可以加--non-interactive 就不会提示再配互信了

3.4 检查系统环境

    执行安装前,可以先执行相关检测:

    [root@GsDb5Srv103 openGauss]# ./script/gs_checkos -i A -h GsDb5Srv103,GsDb5Srv104 --detail

    # ./script/gs_checkos -i B -h GsDb5Srv103,GsDb5Srv104
    openGauss5.0.1 企业版主备节点部署(CentOS7)-12

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

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

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

    chmod -R 755 /opt/openGauss

    chmod -R 755 /opt/software/openGauss

    chown -R omm:dbgrp /opt/software/openGauss /opt/openGauss

4.2 开始安装(gs_install)

    必须使用上面预安装指定的omm用户进行安装,omm用户为运行openGauss的用户。
    切换omm用户
    [root@GsDb5Srv103 openGauss]# su - omm
    使用gs_install安装openGauss
    [omm@GsDb5Srv103 ~]$$ cd /opt/software/openGauss
    [omm@GsDb5Srv103 openGauss]$ ./script/gs_install -X ./cluster_config.xml

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

    安装运行日志目录:/opt/openGauss/omm/omm/om

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

    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”。

4.3 验证openGauss数据库

    执行如下命令查看数据库状态;

    gs_om -t status --detail

    gs_om -t query

    openGauss5.0.1 企业版主备节点部署(CentOS7)-13

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

    注:安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。

        su - root

        rm -rf ~/.ssh

4.3.1 查询openGauss各个节点信息

    执行如下命令,查询各个节点信息(若有多个节点)

    #主节点

    gs_ctl query -D /data/dn

    openGauss5.0.1 企业版主备节点部署(CentOS7)-14

    #备节点

    gs_ctl query -D /data/dn

    openGauss5.0.1 企业版主备节点部署(CentOS7)-15

4.3.2 登录openGauss

    登录数据库主节点验证服务。

    gsql -d postgres -p 5432 -r

    openGauss5.0.1 企业版主备节点部署(CentOS7)-16

    openGauss5.0.1 企业版主备节点部署(CentOS7)-17

    查看主从复制信息:select * from pg_stat_replication;

    openGauss5.0.1 企业版主备节点部署(CentOS7)-18

五、主从复制验证

5.1 主节点创建库表新增记录

    gsql -p 5432 -d postgres -r

    create database testdb;

    \c testdb

    create table t1(id int, name varchar(30));

    insert into t1 values(1, '张三'), (2, '李四'), (3, '王五');

    select * from t1;

    openGauss5.0.1 企业版主备节点部署(CentOS7)-19

5.2 备节点查看数据是否同步

    gsql -p 5432 -d postgres -r

    \c testdb

    select * from t1;

    openGauss5.0.1 企业版主备节点部署(CentOS7)-20

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论