首页 > 其他分享 >【我和openGauss的故事】openGauss主备集群节点的添加与删除

【我和openGauss的故事】openGauss主备集群节点的添加与删除

时间:2023-08-12 18:32:24浏览次数:160  
标签:gs 删除 数据库 备机 主备 集群 openGauss 节点

风一样自由 openGauss 2023-07-29 17:58 发表于四川

一.环境准备

已搭建openGauss一主两备集群(企业版5.0),环境如下:

主机IP 主机名 节点类型

10.100.10.92 yf1 主节点

10.100.10.93 yf2 备节点

10.100.10.94 yf3 备节点

二.gs_dropnode删除集群备节点

拟删除10.100.10.94节点。

1.前提条件

删除备节点的操作只能在主节点上执行;

执行删除操作前,确保主节点和备节点之间建立好omm(数据库管理用户)用户的互信;

需要使用数据库管理用户执行该命令;

如果数据库是分离环境,则需要先source导入分离的环境变量。

2.注意事项

从主备数据库实例中移除当前仍可连通的备机时,会自动停止目标备机上正在运行的数据库服务,但是不会删除备机上的应用;

如果删除后数据库只剩下一个主机时,会建议重启当前主机,此时建议用户根据当前业务运行环境重启主机;

如果目标备机在执行操作前处于不可连通的状态,需要用户在目标备机恢复后手动停止或删除目标备机的数据库服务;

仅支持使用om方式安装的主备数据库实例中移除备机,不支持使用编译方式安装组建的主备数据库实例;

当移除的备机处于同步模式时,如果执行删除命令的同时主机上存在事务操作,事务提交时会出现短暂卡顿,删除完成后事务处理可继续运行;

当目标备机被移除后,如果不需要目标备机,请在目标备机上使用gs_uninstall --delete-data -L命令单点卸载openGauss,请注意务必添加-L选项;

当目标备机被移除后,如果暂时不确定是否需要目标备机,请删除目标备机的远程ssh文件,避免在目标备机上的误操作。

3.操作步骤

3.1查看当前主备集群状态

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量

3.2移除备节点10.100.10.94

执行命令:gs_dropnode -U omm -G dbgrp -h 10.100.10.94

【我和openGauss的故事】openGauss主备集群节点的添加与删除_重启_02

注:从执行结果上可以推断节点已删除,但自动重启集群超时,可能由于网络或其他问题导致,可通过手动重启集群恢复。

3.3查看集群状态

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_03

集群状态显示已成功删除节点10.100.10.94。

3.4在已删除节点关闭与原集群的SSH链接,避免后续操作

【我和openGauss的故事】openGauss主备集群节点的添加与删除_重启_04

3.5清理删除的备机系统环境数据(必须添加-L参数)

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_05

3.6清理删除后的备机系统环境软件及目录(必须添加-L参数)

【我和openGauss的故事】openGauss主备集群节点的添加与删除_数据库_06

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_07

注:清理过程遇到缺失netifaces包,使用pip安装后重新执行命令

【我和openGauss的故事】openGauss主备集群节点的添加与删除_数据库_08

3.7删除残留软件目录

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_09

节点删除完成。

三.gs_expansion增加集群备节点

openGauss提供了gs_expansion工具对数据库的备机进行扩容。

1.前提条件

数据库主机上存在openGauss镜像包,解压镜像包后,在script/目录下执行./gs_expansion命令进行扩容;

在新增的扩容备机上创建好与主机上相同的用户与用户组;

已存在的数据库节点和新增的扩容节点之间需要建立好root用户互信和omm用户(数据库管理用户)互信;

配置xml文件,在已安装数据库配置文件的基础上,添加需要扩容的备机信息;

只能使用root用户执行gs_expansion命令;

如果当前数据库是分离环境变量方式安装,则执行扩容命令前需要source导入主机数据库的分离环境变量。

2.注意事项

从单机扩容到主备模式时,需要将单机数据库以primary的方式启动,因此会对数据库进程进行重启操作。单机扩容时请规划好运行中的业务。主备模式扩容时不需要重启数据库。

主备机器安装的数据库需要使用相同的用户和用户组,分离环境路径也需要保持一样;

主备机器安装时xml配置里面的gaussdbAppPath、gaussdbLogPath、gaussdbToolPath、corePath地址需要保持一致;

扩容机器上的数据必须使用om方式安装,使用编译方式启动的数据库不支持与主机扩容。

3.操作步骤

3.1新备机操作:配置用户、用户组、hosts文件(与primary节点相同)

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_10

3.2主节点操作:建立新节点与所有节点的SSH互信

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_11

3.3主节点操作:修改xml文件,添加新节点信息

【我和openGauss的故事】openGauss主备集群节点的添加与删除_数据库_12

3.4主节点操作:执行gs_expansion完成扩容操作

执行命令:./gs_expansion -U omm -G dbgrp -X /opt/opengauss/cluster_config.xml -h 10.100.10.94

【我和openGauss的故事】openGauss主备集群节点的添加与删除_数据库_13

注:结果显示在执行预初始化新节点时超时了,可能由于网络或其他问题导致。重新执行后如下所示:

【我和openGauss的故事】openGauss主备集群节点的添加与删除_重启_14

从执行结果上可以推断节点已完成扩容,但自动重启集群超时,可能由于网络或其他问题导致,可通过手动重启集群恢复。

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_15

3.5检查扩容后集群状态

【我和openGauss的故事】openGauss主备集群节点的添加与删除_环境变量_16

集群状态正常,扩容完成。

标签:gs,删除,数据库,备机,主备,集群,openGauss,节点
From: https://blog.51cto.com/u_16191492/7060820

相关文章

  • openGauss数据库源码解析系列文章——安全管理源码解析(三)
    Gauss松鼠会[openGauss](javascript:void(0);)2023-07-2917:58发表于四川在上篇openGauss数据库源码解析系列文章——安全管理源码解析(一)我们围绕安全管理整体架构和代码概览、安全认证原理介绍和代码解析进行了简单介绍。本篇将继续角色管理、对象权限管理的学习,全文阅读需要3......
  • openGauss数据库源码解析系列文章——安全管理源码解析(四)
    四、对象权限管理权限管理是安全管理重要的一环,openGauss权限管理基于访问控制列表(accesscontrollist,ACL)实现。4.1权限管理1.访问控制列表访问控制列表是实现数据库对象权限管理的基础,每个对象都具有ACL,存储该对象的所有授权信息。当用户访问对象时,只有用户在对象的ACL中并且......
  • java解析xml获取节点的属性
    1、java解析xml中返回的数据???2、java中dom4j解析xml文件怎么获取节点属性3、详解Java解析XML的四种方法4、使用Java自带SAX工具解析XML5、Java解析XML的几种方法java解析xml中返回的数据???JDOM生成和解析XML为减少DOM、SAX的编码量,出现了JDOM优点:20-80原则,极大减少......
  • 代码随想录算法训练营第十六天| 104.二叉树的最大深度 111.二叉树的最小深度 222.
      104.二叉树的最大深度 (优先掌握递归)    卡哥建议:什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。大家要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。   题目链接/文章讲解/视频讲解:https://programmerc......
  • openGauss学习笔记-37 openGauss 高级数据管理-事务
    openGauss学习笔记-37openGauss高级数据管理-事务事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。openGauss数据库支持的事务控制命令有启动、设置、提交、回滚事务。openGauss数据库支持的事务隔离级别有读已提交和可重复读。READ......
  • 二叉树的堂兄弟节点
    在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k+1处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点root,以及树中两个不同节点的值x和y。只有与值x和y对应的节点是堂兄弟节点时,......
  • 单节点k3s部署rancher
    服务器优化sed-i's/enforcing/disabled/'/etc/selinux/configsetenforce0systemctlstopfirewalldsystemctldisablefirewalldswapoff-ased-ri's/.*swap.*/#&/'/etc/fstabcat>/etc/sysctl.d/k8s_better.conf<<EOFnet.br......
  • 左叶子节点之和
    首先将非终止条件,非递归函数部分叫做单层递归。思考过程如下:想解题思路:一个节点的左节点的左节点为空,左节点的右节点为空,那么这个结点就是左叶子结点,那么我们就要给它的数值加到sum上去解题思路即为单层递归,那么将单层递归写成程序为:1if((node->left->left==nullpt......
  • 【JavaScript34】获取和修改属性节点
    根据W3C的HTMLDOM标准,HTML文档中的所有内容都是节点:整个文档是一个文档节点每个HTML元素是元素节点HTML元素内的文本是文本节点每个HTML属性是属性节点注释是注释节点属性节点比如有一个p标签元素节点<pid="p2"class="text-center">点我看看</p>-那......
  • 【我和openGauss的故事】Navicat连接openGauss_5.0.0 企业版数据库
    【我和openGauss的故事】Navicat连接openGauss_5.0.0企业版数据库心有阳光[openGauss](javascript:void(0);)2023-08-0316:49发表于四川收录于合集#第六届openGauss技术文章征集初审合格文章62个引言在当今互联网时代,数据成为企业和组织的重要资产。为了更好地管理和分析数据,......