安装

前提条件

  • 已完成用户组和普通用户的创建。
  • 所有服务器操作系统和网络均正常运行。
  • 普通用户必须有数据库安装包解压目录、安装目录、数据目录的读、写和执行权限,并且安装目录,数据目录必须为空,且安装目录和数据目录以及配置的日志目录不能存在交叉。
  • 普通用户对下载的openGauss轻量版压缩包有执行权限。
  • 安装前请检查指定的端口是否被占用,如果被占用请更改端口或者停止当前使用端口进程。
  • 环境变量:新安装时请确保GAUSSHOME,GAUSSDATA,GAUSSLOG,GAUSSENV不存在,如果是执行配置启动等后续操作,确保这些环境变量对应的配置正确。

注意: 如果安装前没有执行关闭HISTORY记录禁用history命令,为防止历史记录敏感信息泄露,安装完成后请手动清理history中的敏感信息。 若安装前已执行操作关闭HISTORY记录,请忽略该说明。

操作步骤

  1. 使用普通用户登录到openGauss轻量版包安装的主机,解压轻量版安装包到安装目录。

    tar -zxf openGauss-Lite-3.0.0-openEuler-aarch64.tar.gz -C ~/openGauss
    
  2. 假定解压包的路径为/opt/software/openGauss,进入解压后目录。

    cd ~/openGauss
    
  3. 执行install.sh脚本安装openGauss轻量版安装包。

    单机:echo password | sh ./install.sh --mode single -D ~/openGauss/data -R ~/openGauss/install  --start
    主备:
        1、主节点:echo password | sh ./install.sh --mode primary -D ~/openGauss/data -R ~/openGauss/install  -C "replconninfo1='localhost=ip1 localport=port1 remotehost=ip2 remoteport=port2'" --start
        2、备节点:echo password | sh ./install.sh --mode standby -D ~/openGauss/data -R ~/openGauss/install  -C "replconninfo1='localhost=ip1 localport=port1 remotehost=ip2 remoteport=port2'" --start
    

    说明:

    • -D|--data-path:数据库数据路径, 不可和安装目录交叉,必须为空。
    • -R|--app-path:数据库安装路径,不可和数据目录交叉。
    • -l|--log-path:日志保存路径。
    • -f|--guc-file:guc配置文件,批量进行guc参数设置,默认为安装脚本同级文件opengauss_lite.conf,可指定。
    • -m|--mode:节点类型,默认single,支持primary(主节点),standby(备节点),single(单机)。
    • -n|--nodename:实例名称,主节点默认master,备节点默认slave,单机默认single。
    • -P|--gsinit-parameter:初始化参数,具体详见文档《工具参考》中的“系统内部使用的工具 > gs_initdb”章节,出于安全考虑,不建议使用该接口传递密码。建议使用echo和pipe方式来传递密码,如果主备密码设置的不一致,最终会使用主节点设置的密码,同时密码长度为8-32位。
    • -C|--dn_guc:数据库配置参数,具体详见文档《工具参考》中的“服务端工具 > gs_guc”章节。
    • --env-sep-file:分离环境变量文件,会将使用过程中需要的环境变量写到该文件中,默认为用户的bashrc文件,注意不要传递目录。
    • --start:安装完成是否启动集群,默认不启动。
    • --ulimit:是否进行最大文件数配置(配置数为1000000),默认不设置。
    • --cert-path:ssl证书路径,传递了该参数,ssl会被设置为on,同时会把该路径下证书拷贝到数据目录。
    • --ssl-client-ip:客户端ip,只有在--cert-path参数启用的时候生效,会把客户端ip添加到白名单里面。
    • -h|--help:打印使用说明。

    注意:

    • 因为每一步都是可重入的,所以如果分离了环境变量,每一步执行脚本需要指定环境变量路径。

    • 主备节点保证IP类型一致,如果主节点使用IPV6,备节点也请使用IPV6。

    • 如果有多个备节点,需要在每一个节点上安装的时候传递所有节点的信息,注意区分本机和远端的信息。

    • 如果进行ulimit设置的时候,报错ulimit: open files: cannot modify limit: Operation not permitted,请使用root权限,在/etc/security/limits.conf中修改该用户可配文件数量的上限。

    • 如果安装异常终止,请检查安装目录和数据目录是否符合预期条件,必要情况下手动清理环境变量。

    • 安装主备环境的时候,如果replconninfo中采用的是sslmode=verify-ca,会出现备机连不上主机的现象,需要通过以下方式解决

    • ${GAUSSDATA}代表dn数据目录

    • 示例:sh install.sh -R ~/app -m primary -D ~/data -l ~/log --start -C “replconninfo1='localhost=xxx.xx.xx.x localport=xxxx remotehost=xxx.xx.xx.x remoteport=xxxx sslmode=verify-ca'”

    • 操作步骤

    • 准备证书、私钥。有关生成证书操作,请参考《开发者指南》中的“管理数据库安全 > SSL证书管理 > 证书生成”章节。

    • 服务端各个配置文件名称约定:

      证书名称约定:server.crt。
      私钥名称约定:server.key。
      私钥密码加密文件约定:server.key.cipher、server.key.rand。
      
    • 客户端各个配置文件名称约定:

      证书名称约定:client.crt。
      私钥名称约定:client.key。
      私钥密码加密文件约定:client.key.cipher、client.key.rand。
      根证书名称约定:cacert.pem。
      吊销证书列表文件名称约定:sslcrl-file.crl。
      
    • 拷贝证书到各个节点的数据目录。

      1.  将服务端各个配置文件server.crt、server.key、server.key.cipher、server.key.rand拷贝到对应目录下。
      2.  将客户端各个配置文件client.crt、client.key、client.key.cipher、client.key.rand、cacert.pem(如果需要配置吊销证书列表,则列表中包含sslcrl-file.crl)拷贝到到对应目录下。
      
    • 加密用户密码 (可选,如果证书已经生成了私钥可跳过)

      主节点: gs\_guc encrypt -M server -K 数据库密码 -D $\{GAUSSDATA\}/
      备节点: gs\_guc encrypt -M client -K 数据库密码 -D $\{GAUSSDATA\}/
      其中$\{GAUSSDATA\}为数据目录
      
    • 配置ssl

      gs_guc set -D ${GAUSSDATA} -c "ssl=on" 
      gs_guc set -D ${GAUSSDATA} -c "ssl_ciphers = 'ALL'" 
      gs_guc set -D ${GAUSSDATA} -c "ssl_cert_file = 'server.crt'" 
      gs_guc set -D ${GAUSSDATA} -c "ssl_key_file = 'server.key'" 
      gs_guc set -D ${GAUSSDATA} -c "ssl_ca_file = 'cacert.pem'" 
      
    • 备节点导出如下环境变量(文件权限不能大于600)

      export PGSSLCERT="${GAUSSDATA}/client.crt"
      export PGSSLKEY="${GAUSSDATA}/client.key"
      export PGSSLROOTCERT="${GAUSSDATA}/cacert.pem"
      
    • 依次重启主备openGauss。

      gs_ctl restart -D ${GAUSSDATA} 
      
  4. 安装执行完成后,使用ps和gs_ctl查看进程是否正常。

    ps ux | grep gaussdb
    gs_ctl query -D /opt/data
    

    执行ps命令,显示类似如下信息:

    omm      24209 11.9  1.0 1852000 355816 pts/0  Sl   01:54   0:33 /opt/install/bin/gaussdb -D /opt/data
    omm      20377  0.0  0.0 119880  1216 pts/0    S+   15:37   0:00 grep --color=auto gaussdb
    

    执行gs_ctl命令,显示类似如下信息:

    gs_ctl query ,datadir is /opt/data
    HA state:
        local_role                     : Normal
        static_connections             : 0
        db_state                       : Normal
        detail_information             : Normal
    
    Senders info:
        No information
    
     Receiver info:
    No information 
    
意见反馈
编组 3备份
    openGauss 2024-04-20 00:48:48
    取消