GBase 8a分为管理集群(gcware),调度集群(coor/gcluster)和计算集群(gnode),其中gcware负责集群状态,一致性等。在集群创建时,根据规模,基本部署3/5个节点即可。所以管理节点数量也就基本不会更改。本文介绍集中需要扩容gcware服务的情况,以及GBase 8a里扩容缩容管理节点的方法。
当前(2026-06-29)该功能仅在部分版本支持。如果你用的当前版本不支持,且会较频繁使用该功能,可以联系GBase 8a支持人员申请支持该功能的版本。
Directory Navigation
管理节点数量的选择
管理节点不负责具体的计算,所以一般低于20个节点的1+1副本集群,有3个节点即可。超过50个,或者集群副本为1+2共3副本时,可以部署5个节点。再多的没有实际意义。
管理节点的Master是投票选出的,所以建议部署奇数节点,比如3,5,不建议部署偶数,比如2,4。
需要扩容缩容管理节点的情况
实验局变正式局,要扩容
初期是实验局,给了部分数据,验证方案的可用性,一般是1-2个节点。等半年或一年之后验证通过变成正式局时,需要在原有集群上扩容而不是全新建一套。此时需要扩容管理节点。
业务数据规模明显增加,要扩容
业务初期可能有多个产品承接,后续全部转到一个产品,需要扩容。
在线主机更换,需要扩容和缩容
现有管理节点主机遇到遇到不可解决的问题,比如性能低下,配置差,RAID卡缺少电池等,需要更换成新的高性能主机。而业务上不允许走耗时长的节点替换流程(主要是复合节点数据重建耗时长)。此时需要通过扩容一台新的管理节点,等待数据自然老化,几个月后,数据自然重分布完成,再通过缩容的方式来剔除该管理节点。
集群业务减少,需要缩容
这个,也算个可能吧。上线时没分析对,最终发现整体规模要缩容到5个或更少,导致管理节点被迫缩容。
版本限制
953版本在制作时,考虑到业务上线后不可能做管理服务的扩容和缩容,最多做节点替换,故在产品手册里明确:不支持管理服务gcware的扩容和缩容。如果你的业务必须要用这个功能,可以联系服务人员确认版本是否支持。
如果现场不允许更换版本,可以联系支持人员考虑手工扩容。该方法有可能需要研发支持,不建议重要的生产环境使用。
如果现场允许更新版本,建议申请支持gcware扩容的新版本,升级后再操作。
管理服务gcware扩容操作
如下从单节点集群扩容到3节点集群。
所有节点服务全部要停止,包括管理,调度和计算。
环境
集群规模
单节点集群
[gbase@rh151 gcinstall]$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
====================================
| GBASE GCWARE CLUSTER INFORMATION |
====================================
| NodeName | IpAddress | gcware |
------------------------------------
| gcware1 | 10.0.2.151 | OPEN |
------------------------------------
====================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
====================================================
| NodeName | IpAddress | gcluster | DataState |
----------------------------------------------------
| coordinator1 | 10.0.2.151 | OPEN | 0 |
----------------------------------------------------
=========================================================================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
| node1 | 10.0.2.151 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
版本
9.5.3.28.18.r1_patch.10
扩容命令
安装目录/gcware/gcware_server/gcserver.py,参数如下:
[root@vm151 gcware_server]# ./gcserver.py --help
Usage: gcserver.py [options]
Options:
-h, --help show this help message and exit
-a do not prompt the user for confirmation
--prefix=INSTALLPREFIX
gcware installation directory
--host=GCWAREHOST replaced node(s) of gcware which splitting by comma
--gcwareHostNodeID=GCWAREHOSTNODEID
gcwareHosts' id which splitting by comma
--dbaUser=DBAUSER dba user
--dbaPwd=DBAPWD dba user password
-r, --replace replaced node
-e, --extend new gcware node
-u, --uninstall gcware node to be uninstalled
--overwrite new and complete overwrite
--license_file=LICENSE_FILE
import license file
[root@vm151 gcware_server]#
扩容操作
参数
- -e 表示扩容
- --prefix 数据库安装目录
- --host 扩容的管理节点IP,多个用逗号分割
- --dbaUser 默认是OS的gbase用户,
- --dbaPwd 密码,一般是OS的gbase用户密码
[gbase@rh151 gcware_server]$ ./gcserver.py -e --prefix=/opt/gbase --host=10.0.2.152,10.0.2.153 --dbaPwd=111111
Check gcware server version ...
check dba home path privilege
10.0.2.152 10.0.2.153
Are you sure to extend gcware cluster install these nodes ([Y,y]/[N,n])?
。。
update cluster_common file successful
Starting all gcware nodes...
Starting all coordinator and data host ...
extend gcware node successful.
[gbase@rh151 gcware_server]$
扩容后效果
[gbase@rh151 gcware_server]$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
====================================
| GBASE GCWARE CLUSTER INFORMATION |
====================================
| NodeName | IpAddress | gcware |
------------------------------------
| gcware1 | 10.0.2.151 | OPEN |
------------------------------------
| gcware2 | 10.0.2.152 | OPEN |
------------------------------------
| gcware3 | 10.0.2.153 | OPEN |
------------------------------------
====================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
====================================================
| NodeName | IpAddress | gcluster | DataState |
----------------------------------------------------
| coordinator1 | 10.0.2.151 | OPEN | 0 |
----------------------------------------------------
=========================================================================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
| node1 | 10.0.2.151 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
[gbase@rh151 gcware_server]$
管理服务gcware缩容操作
与扩容基本一样,有如下注意事项
- 被缩容的节点,不能是当前节点,必须在其它节点操作
- 参数为 -u
缩容操作
从前面3个管理节点,缩容成2个管理节点的操作样例
[gbase@rh152 gcware_server]$ python gcserver.py -u --prefix=/opt/gbase --host=10.0.2.151 --dbaPwd=111111
Check gcware server version ...
check dba home path privilege
10.0.2.151
Are you sure to uinstall gcware cluster uninstall these nodes ([Y,y]/[N,n])?
...
update cluster_common file successful
clear gcware host ...
clear gcware host successful
Starting all gcware nodes...
Starting all coordinator and data host ...
uinstall gcware node successful.
[gbase@rh152 gcware_server]$
缩容后效果
[gbase@rh151 bin]$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
====================================
| GBASE GCWARE CLUSTER INFORMATION |
====================================
| NodeName | IpAddress | gcware |
------------------------------------
| gcware1 | 10.0.2.152 | OPEN |
------------------------------------
| gcware2 | 10.0.2.153 | OPEN |
------------------------------------
====================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
====================================================
| NodeName | IpAddress | gcluster | DataState |
----------------------------------------------------
| coordinator1 | 10.0.2.151 | OPEN | 0 |
----------------------------------------------------
=========================================================================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
| node1 | 10.0.2.151 | 1 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
[gbase@rh151 bin]$
Summary
管理节点的扩容和缩容极其少见。本文介绍的方法,就是在客户遇到但没有方法解决时,客户不允许手工操作,必须完全脚本化,自动化才允许,故在部分版本才支持。