opengauss 主从搭建

303 阅读3分钟

官网:docs.opengauss.org/zh/docs/3.1…

参考 博客一:www.modb.pro/db/640351 博客二:blog.csdn.net/hanyuce/art…

image.png 1.添加用户和组(主从两台服务器都需要)

groupadd dbgrp
useradd -g dbgrp -d home/omm -m -s /bin/bash omm

2.修改主机名(主从两台服务器都需要)

Vi /etc/hosts
192.168.21.146 opengaussA
192.168.21.147 opengaussB

3.关闭防火墙(主从两台服务器都需要)

Systemctl stop firewalld.service
Systemctl disable firewalld.service

4.关闭selinux(主从两台服务器都需要)

Sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

5.设置字符集(主从两台服务器都需要)

Cat >>/etc/profile<<EOF
Export LANG=’en_US.UTF-8’
EOF
Source /etc/profile

6.安装依赖包(主从两台服务器都需要)

Yum install -y libaio-devel flex bison ncurses-devel
glibc-devel patch lsb_release readline-deve readline libnsl
Yum install -y openssl* python3

7.重启(主从两台服务器都需要)

reboot

8.创建cluster_config.xml文件 Cluster_config.xml文件包含opengauss的服务器信息、安装路径、IP地址及端口号,用于告知opengauss如何部署。用户可以根据不同场景配置对应的XML文件【单节点、一主已备等】。

vi /root/opengauss/cluster_config.xml

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<PARAM name="clusterName" value="openGauss_Cluster" />
<PARAM name="nodeNames" value="opengaussA,opengaussB" />
<PARAM name="gaussdbAppPath" value="/opt/opengauss/install/app" />
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<PARAM name="tmpMppdbPath" value="/opt/opengauss/tmp"/>
<PARAM name="gaussdbToolPath" value="/opt/opengauss/install/om" />
<PARAM name="corePath" value="/opt/opengauss/install/corefile"/>
<PARAM name="backIp1s" value="192.168.21.146,192.168.21.147"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="opengaussA">
<PARAM name="name" value="opengaussA"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.21.146"/>
<PARAM name="sshIp1" value="192.168.21.146"/>

<!--dn-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="26000"/>
<PARAM name="dataNode1" value="/data/openguass/data,opengaussB,/data/opengauss/data"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>

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

9.下载压缩包(主服务)

下载 https://opengauss.org/zh/download/  后上传到/root/opengauss
解压 : tar -xzvf openGauss-3.1.1-openEuler-64bit-all.tar.gz
       tar -zxvf openGauss-3.1.1-openEuler-64bit-om.tar.gz

cd /opengauss/script

10.准备安装用户及环境

创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs_preinstall准备好安装用户及环境。

安装前置脚本gs_preinstall可以协助用户自动完成如下的安装环境准备工作:【注意:只能使用root用户运行】

  • 自动设置Linux内核参数以达到提高服务器负载能力的目的。
  • 自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。
  • openGauss安装用户、用户组不存在时,自动创建安装用户以及用户组。
  • 读取openGauss配置文件中的目录信息并创建,将目录权限授予安装用户。
./gs_preinstall -U omm -G dbgrp -X /opengauss/cluster_config.xml

image.png

image.png

image.png

注意:如果报用户 权限的问题 可以通过 ssh db1(hosts别名) ,ssh db2(hosts别名) 进行查看,如果有问题 可以参考 博客二:blog.csdn.net/hanyuce/art…

image.png 进行处理

11.安装gauss

执行前置脚本准备好opengauss安装环境之后,按照启动过程安装部署opengauss.切换到omm用户执行:

su omm
gs_install -X /opengauss/cluster_config.xml

image.png

**12.验证数据库

image.png

注意:

使用navicat 连接数据库的时候需要从新注册用户 ,不能用omm用户连接,要创建一个新的用户去连接

gsql -d postgres -p 15400 #连接数据库

create user epms with createdb identified by 'xys@123...';

退出后用用户查看 gsql -d "host=172.20.17.239 port=15400 dbname=postgres user=epms password=scxys@123..."

附注:使用Navicat等工具连接数据库时,若出现报错“none of the server's SASL authentication mechanisms are supported”。

需要在数据库安装路径(以/opt/huawei/install/data/dn/)下的配置文件为例做以下排查:

image.png 1、编辑   vim postgresql.conf,将文件内的参数做如下调整。

listen_addresses = '*'

image.png password_encryption_type = 1

image.png 2、编辑  vim pg_hba.conf,确认该部分内容如下。

image.png

13.系统自动会把把从服务数据库设置为 只读。