openGauss 5.0.0企业版一主一备安装部署

2cee608e90f828e0da97bfb1b1c1adc6.jpeg


背景

最近项目在使用openGauss数据库,当初选择时综合考虑华为大厂背景、国产开源、免费使用,以及我也拥有openGauss的HCIA证书,对openGauss较为熟悉,所以选择openGauss。两年前初次部署选的是2.1.0版本,目前社区已经出了5.1.0版本,作为项目使用也得替换为LTS版本,所以此次进行5.0.0企业版的安装。且通过一主一备的部署方式增加数据的可靠性。

题外话:关于openGauss的版本号

openGauss版本号采用点分位命名规则(X.Y.Z)模式,其中X.0.0表示LTS版本,X.Y.0表示preview版本,Z表示补丁版本。

LTS版本发布间隔周期1年,社区提供3年维护支持。preview版本发布间隔周期1年,社区提供0.5年维护支持。


一、环境准备


1. 华为云购买两台ECS 如图:一主一备部署需要准备两台服务器分别作为主机和备机,操作系统仍然用openEuler 20.03 LTS,CPU选择的制式是X86。说明:内存最少需要16G。

96c258bcc361174431899f516cb89171.jpeg

Tips:官网要求最小内存32G,考虑到卡里余额,我只买了4核16G的机器,也可以安装成功。


1.1查看openEuler版本,操作系统版本及CPU的制式是基础[root@ecs-caa2 ~]# cat /etc/openEuler-release
openEuler release 20.03(LTS)



93de1cb61927ed233eca1ea10cd56ccc.jpeg

1.2查看CPU模式 

lscpu  Architecture:       x86_64 CPU op-mode(s):        32-bit, 64-bit



3bba7d891fd0edc1d8ccc8c6cb304661.jpeg

注意:X86的CPU,下载安装包的时候记得要下载X86的。如果下了arm架构的会有其他莫名其妙的报错。相信不会有人犯这样的错误除了我。


1.3操作系统环境准备

  • 设置字符集参数(主备机都要执行)


vi/etc/profileexport LANG=en_US.UTF-8

source/etc/profile


  • 修改Python版本(主备机都要执行)


cd /usr/bin

mv python python.bak

ln -s python3 /usr/bin/python
python -V


  • 下载安装包(创建目录和修改目录权限需要主备机都执行,下载和解压安装包只需要在主机执行)

创建目录:mkdir/opc/software/openGauss/

下载安装包

x86:wgethttps://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/x86_openEuler/openGauss-5.0.0-openEuler-64bit-all.tar.gz


解压安装包

tar -zxvf openGauss-5.0.0-openEuler-64bit-all.tar.gztar zxvf openGauss-5.0.0-openEuler-64bit-om.tar.gz
修改目录权限:chmod 755 -R /opt/software
chmod 755 -R /opt/software/openGauss/script/


  • 修改yum源:(主备机都要执行)

cd /etc/yum.repos.dNAME="openEuler"
上传文件:openEulerOS.repo到该目录下。
执行命令:yum clean all

执行命令:yum makecache(执行命令的服务器需要有外网访问的权限)

  • 安装依赖包:(主备机都要执行)

1.Expect:

yum install expect2.其他 yum install -y bzip2 bzip2-devel curl libaio libaio-devel readline-devel

yum install libaio* -y


  • 关防火墙(主备机都要执行)

vim /etc/selinux/config

SELINUX=disabled

重启系统:reboot检查:systemctl status firewalld

若仍然是active(running)状态,则执行下面两个命令:systemctl disable firewalld.servicesystemctl stop firewalld.service再次检查:systemctl status firewalld


36599c817504db242fc7f74ba3d6907a.jpeg


1)关共享内存 (主备机都要执行)。swapoff -a


2)关闭RemoveIPC(主备机都要执行),修改“RemoveIPC”值为“no”。vi /etc/systemd/logind.conf

3)检查hostname与/etc/hostname是否一致(主备机都要执行)。

Hostname
cat /etc/hosts

cat /etc/hostname


注意hostname文件中不能有其他内容,之前包含了注释的localhost导致报错如下:

e8352b1df5ac1755782dcc119a8bf9b5.jpeg

[FAILURE] bogon: [GAUSS-51248] : The hostname(bogon) may be not same with hostname(/etc/hostname) Command: "pssh -s -H bogon 'cat /etc/hostname'". Error: bogon #localhost.localdomain [FAILURE] bogon2: [GAUSS-51248] : The hostname(bogon) may be not same with hostname(/etc/hostname) Command: "pssh -s -H bogon 'cat /etc/hostname'". Error: Bogon


红框中的内容删除掉后执行预安装成功。

注意除了下载安装包以外,其余关于环境的准备,需要在主备两台机器都进行操作。


2. 集群配置XML文件准备:

最主要的工作量就在准备XML文件了(我实验的路径是按照默认,具体项目可根据实际情况调整文件路径)。


2.1集群参数配置:
<?xml version="1.0" encoding="utf-8"?> <ROOT> <CLUSTER> <PARAM name="clusterName" value="opengauss" /> <PARAM name="nodeNames" value="db1,db2"/> <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" /> <PARAM name="corePath" value="/opt/huawei/corefile"/> <PARAM name="backIp1s" value="192.168.197.18,192.168.197.19"/> </CLUSTER>


2.2 主机参数配置:
<DEVICE sn="db1"> <PARAM name="name" value="db1"/> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <PARAM name="backIp1" value="192.168.197.18"/> <PARAM name="sshIp1" value="192.168.197.19"/> <!-- dn --> <PARAM name="dataNum" value="1"/> <PARAM name="dataPortBase" value="15400"/> <!--这个参数很关键,和单机版有明显区别,其中红色字体的为需要增加的内容,配置备机的数据目录--> <PARAM name="dataNode1" value="/opt/huawei/install/data/dn,db2,/opt/huawei/install/data/dn"/> <PARAM name="dataNode1_syncNum" value="0"/> </DEVICE> 2.3备机参数配置:

<DEVICE sn="bogon2"> <PARAM name="name" value="db2"/> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <PARAM name="backIp1" value="192.168.197.19"/> <PARAM name="sshIp1" value="192.168.197.19"/> <!-- dn --> </DEVICE> <!--和单机版相比,不用配置备机的dbnode信息,如果配置了,则安装完成后,备机也会处于主机状态-->

配置完后的xml文件放在openGauss/xmlfile文件夹下面。

[root@bogon xmlfile]# ls /opt/software/openGauss/xmlfile/

cluster_config.xml

需要赋予xmlfile文件夹权限:

ch mod 755 -R /opt/software/openGauss/xmlfile/NAME="openEuler"

二、预安装

1. 执行preinstall命令:

./script/gs_preinstall -U omm -G dbgrp -X/opt/software/openGauss/xmlfile/cluster_config.xml

Preinstall过程中会需要几次提示和输入几次密码,按照提示输入响应密码并妥善记录。

271f78755896a63e74453869c0b93546.jpeg

2. 提示输入omm用户的密码:

a3429be8508b418cea48ac2cfec29fc8.jpeg

3. 再次输入omm用户的密码:

93c46e651cf554f3910e60e364c593e3.jpeg

Preinstall成功结束后会有如下提示:

58b5cab42e1581c8ac76e24049b08153.jpeg

4. 一些安装过程由于粗心遇到的小问题,根据提示修改后重新执行即可。

如果xml文件名或者文件夹错误,则会报错如下:

如果xml文件里面的hostname和实际的hostname不一致,则会报错如下:

三、安装

1. 安装命令需要用omm用户执行,先切换至omm;su omm
gs_install -X /opt/software/openGauss/xmlfile/cluster_config.xml 2. 如果没有赋予xmlfile文件夹的权限,则会报错:

[GAUSS-50236]:the&nbsp;/opt/software/openGauss/xmlfile/cluster_config.xml does not exist

or the permission on the upper-layer directory is insufficient. 3. 赋予权限:chmod&nbsp;755 -R /opt/software/openGauss/xmlfile/
chmod&nbsp;755 -R /opt/software/openGauss/script 赋予权限时要用root用户,赋予后重新切换为omm用户进行安装。

4. 安装过程需要输入数据库密码,输入并妥善记录

2a2122c8138f49932403ebfa5f62a32f.jpeg

&nbsp;5. 安装完成后会有如下提示:

2955e977573bb9716db61a6b923acf67.jpeg

四、启动和集群状态检查

1. 启动:gs_om -t restart

54d18cb0cd0ecbc5806539ab2968e05a.jpeg

2. 集群状态检查:gs_om -t status --detail

97804358fc4709e2ffdc9ce0ee8efb17.jpeg


五、主备切换

1. 登录备机,查看集群状态gs_om -t status --detail 36c70405db90676c8f1d390f15b0d117.jpeg

2. 备机升主,更新配置文件

gs_ctl switchover -D /opt/huawei/install/data/dn 990a98695d40b4b427f734c9332a8d4d.jpeg

3. 重新查看集群状态,发现主备机已经互相切换。

be184ad9d7e929c11118e8a91efb915c.jpeg

六、一些其他操作

修改端口号:由于2.0默认端口号是26000,我安装完成后把端口号又改为了26000。修改postgresql.conf文件和pg_hba.conf文件的部分配置,以便可以远程连接数据库,注意修改完后需重启集群才生效。


&nbsp; 本文作者


本文内容来自于数据库领域资深技术专家赵锋老师,OpenHarmony WEB3 TSG成员。先后就职于大唐电信、华为和软通动力,拥有多年项目开发,设计和优化运维经验。在数据库领域摸爬滚打多年,经历过Oracle,DB2和SQL Server的时代,国产数据库崛起后,对华为GaussDB系列数据库进行了深入学习和研究,获得华为GaussDB HICA、GaussDB HCIP、GaussDB HICA SI以及openGauss HCIA证书。致力于国产开源数据库在业务项目中的实践和应用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值