【运维变更】【标准变更方案】【纯软】重启集群

1.    适用场景

当主机发生故障状态异常时,用户可能需要停止主机上的所有角色,对主机进行维护检查。故障清除后,启动主机上的所有角色恢复主机业务。

2.    前提条件

GaussDB A集群安装成功,且处于已启动状态。

3.    对系统影响

停止集群前需要用户先停止数据库相关业务,从而避免因数据库停止对客户业务的影响。

4.    实施步骤

4.1预估重启后实例catchup时间

8.0以下版本重启后备机实例会有较长时间catchup状态,该状态下会占用主实例所在磁盘IO资源,IO能力较差数据量较多的情况下部分业务会出现运行较慢的情况,无其他影响,若集群启动后无重要业务可跳过。本小节主要用以估算该状态持续时间作为参考。

步骤1 以omm用户登录GaussDB A集群的第一个CN节点

步骤2 执行以下命令,启用环境变量

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

步骤3 确认目前无实例catchup

若当前存在catchup会影响集群重启后catchup时间。

gsql -d postgres -p 25308 -c “select * from pgxc_get_senders_catchup_time()”

如下查询无结果,则无实例catchup,可继续后续步骤。

nodename | lwpid | local_role | peer_role | state | sender | catchup_start | catchup_end

———-+——-+————+———–+——-+——–+—————+————-

(0 rows)

 

步骤3 查看单个主dn实例路径

cm_ctl query –Cvd|grep 6001
1  10-185-179-67 6001 /srv/BigData/mppdb/data1/master1     P Primary Normal | 2  10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1      S Standby Normal | 3  ASG003        3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

步骤4 统计主实例文件数量

无严重数据倾斜情况下各个dn数据量相差不大,因此统计一个dn数据即可以代表其他实例的数据量,此处以实例6001为例。

ls -fR /srv/BigData/mppdb/data1/master1/base|wc -l

步骤5 根据主实例文件数量预计catchup时间

HDD盘raid组:主实例文件数/800 (s)

SSD盘:主实例文件数/1600 (s)

4.2停止集群

步骤1 以omm用户登录GaussDB A集群的第一个正常的cn节点

步骤2 执行以下命令,启用环境变量

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

步骤3 执行以下命令3次,设置检查点,防止集群重新启动后主实例长时间redo引起集群启动较慢。

gsql -p 25308 -d postgres -c “checkpoint”

执行结果如下,则为正常

CHECKPOINT

步骤4 执行以下命令,停止集群

cm_ctl stop -mi

 

执行结果如下:

cm_ctl: stop cluster.

cm_ctl: stop nodeid: 1

cm_ctl: stop nodeid: 2

cm_ctl: stop nodeid: 3

…………

cm_ctl: stop cluster successfully.

4.3集群维护工作

本步骤需结合具体方案目的实施,待集群成功停止后,可以开始进行停集群维护操作,如更换磁盘,升级网卡,下电服务器等。

4.4启动集群

步骤1 以omm用户登录GaussDB A集群的第一个正常的cn节点

步骤2 执行以下命令,启用环境变量

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

步骤3 执行以下命令,启动集群

cm_ctl start -t 600

 

执行结果如下:

cm_ctl: checking cluster status

cm_ctl: check finished in 247 ms.

cm_ctl: start cluster.

cm_ctl: start nodeid: 1

cm_ctl: start nodeid: 2

cm_ctl: start nodeid: 3

………………………………….

cm_ctl: start cluster successfully.

4.5检查集群状态是否正常

步骤1 以omm用户登录GaussDB A集群的第一个CN节点

步骤2 执行以下命令,启用环境变量

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

步骤3 执行以下命令,确保集群状态正常

cm_ctl query

如下则为正常

[   Cluster State   ]

cluster_state  :  Normal

redistributing : No

balanced       : Yes

步骤确认集群状态是否正常。如果发生主备切换,则需要切回主备(具体参考主备切换标准方案)

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316750.html

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

登录后才能评论