openGauss 5.0.1 企业版单节点部署(CentOS7)

2024年 2月 15日 84.4k 0

软件版本

    操作系统:CentOS7.9

    数据库:openGauss5.0.1

一、安装前准备

1.1 安装包下载

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

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

    openGauss 5.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

将原来的链接备份

    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

1.2 安装环境准备

1.2.1 硬件环境要求

    openGauss 5.0.1 企业版单节点部署(CentOS7)-2

1.2.2 软件环境要求

    openGauss 5.0.1 企业版单节点部署(CentOS7)-3

1.2.3 软件依赖要求

    openGauss 5.0.1 企业版单节点部署(CentOS7)-4

    #安装依赖包软件

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

1.2.4 修改hosts和hostname

    openGauss 5.0.1 企业版单节点部署(CentOS7)-5

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

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

  1. 修改/etc/selinux/config文件中的SELINUX值为disabled
    [root@GsDb5Srv102 ~]# vi /etc/selinux/config
    openGauss 5.0.1 企业版单节点部署(CentOS7)-6

    setenforce 0 #即时生效,否则需要重启系统 getenforce
2、检查防火墙是否关闭
    [root@GsDb5Srv102 ~]# systemctl status firewalld
        若防火墙状态显示为active (running),则表示防火墙未关闭
        若防火墙状态显示为inactive (dead),则无需再关闭防火墙
3、关闭防火墙并禁止开机重启
    [root@GsDb5Srv102 ~]# systemctl stop firewalld
    [root@GsDb5Srv102 ~]# 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
    openGauss 5.0.1 企业版单节点部署(CentOS7)-7

1.2.7 设置时区和时间

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

    openGauss 5.0.1 企业版单节点部署(CentOS7)-8
    # 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@GsDb5Srv102 ~]# swapoff -a

    openGauss 5.0.1 企业版单节点部署(CentOS7)-9
    如果需要开启交换内存,则执行如下命令
    [root@GsDb5Srv102 ~]# swapon -a

1.2.9 设置网卡MTU值(可选)

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

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

    openGauss 5.0.1 企业版单节点部署(CentOS7)-10

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的管理员帐户。

    openGauss 5.0.1 企业版单节点部署(CentOS7)-11

    在安装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/dn

二、系统资源参数配置

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

    openGauss 5.0.1 企业版单节点部署(CentOS7)-12

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@GsDb5Srv102 openGauss]# ./script/gs_preinstall -U omm -G dbgrp -X ./cluster_config.xml

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

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

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

3.4 检查系统环境

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

    [root@GsDb5Srv102 openGauss]# ./script/gs_checkos -i A

    openGauss 5.0.1 企业版单节点部署(CentOS7)-13

    [root@GsDb5Srv102 openGauss]# ./script/gs_checkos -i B

    openGauss 5.0.1 企业版单节点部署(CentOS7)-14

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

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

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

    chmod -R 755 /opt/software/openGauss

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

4.2 开始安装(gs_install)

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

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

    openGauss 5.0.1 企业版单节点部署(CentOS7)-15

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

    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

    openGauss 5.0.1 企业版单节点部署(CentOS7)-16

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

    [omm@GsDb5Srv102 ~]$ ps -ef | grep omm

    

    [omm@GsDb5Srv102 ~]$ gs_ctl query -D /data/dn -M primary

    [omm@GsDb5Srv102 ~]$ gs_ctl query -D /data/dn -M standby

    

4.3.1 查询openGauss各个节点信息

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

    gs_om -t status --all

    openGauss 5.0.1 企业版单节点部署(CentOS7)-17

4.3.2 登录openGauss

    登录数据库验证服务。

    gsql -d postgres -p 5432

    openGauss 5.0.1 企业版单节点部署(CentOS7)-18

五、openGauss简单使用

5.1 启停数据库服务

    gs_om -t start -D

    gs_om -t stop

    gs_om -t restart

    gs_om -t status

5.2 安装生成的目录

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

序号

项目目录说明

目录

子目录

说明

1

openGauss安装目录

/opt/openGauss/app

bin

存放数据库二进制文件的目录。

etc

cgroup工具配置文件。

include

存放数据库运行所需要的头文件。

lib

存放数据库的库文件的目录。

share

存放数据库运行所需要的公共文件,如配置文件模板。

2

openGauss数据目录

/data/dn

/

DBnode实例的数据目录。

3

openGauss日志目录

/opt/openGauss/omm/用户名

bin

二进制程序的日志目录。

gs_profile

数据库内核性能日志目录。

om

OM的日志目录。例如:

部分local脚本产生的日志、增删数据库节点接口的日志、gs_om接口的日志、前置接口的日志、节点替换接口的日志等。

pg_audit

数据库审计日志目录。

pg_log

数据库节点实例的运行日志目录。

4

openGauss系统工具目录

/opt/openGauss/om

script

用于openGauss用户进行openGauss管理的脚本文件。

lib

bin目录下的二进制文件依赖的库文件。

5

openGauss临时文件目录

/opt/openGauss/tmp

  

用于放置临时文件。    

相关文章

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

发布评论