news 2026/4/22 13:59:37

GBase 8a v952-兼容模式-对混合节点和纯data节点缩容操作教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GBase 8a v952-兼容模式-对混合节点和纯data节点缩容操作教程

说明

本文仅从功能验证角度来进行流程操作,gbase v952 兼容模式对混合节点和纯data节点缩容。

缩容目标

集群目前有四个节点,两个管理节点,四个data节点,其中两台机器是混合部署。现在准备缩容一台混合节点一台纯data节点。


集群现状gcadmi信息如下:

[gbase@node1 gcinstall]$ gcadmin CLUSTER STATE: ACTIVE VIRTUAL CLUSTER MODE: NORMAL ================================================================= | GBASE COORDINATOR CLUSTER INFORMATION | ================================================================= | NodeName | IpAddress | gcware | gcluster | DataState | ----------------------------------------------------------------- | coordinator1 | 192.168.110.21 | OPEN | OPEN | 0 | ----------------------------------------------------------------- | coordinator2 | 192.168.110.22 | OPEN | OPEN | 0 | ----------------------------------------------------------------- ========================================================================================================= | GBASE DATA CLUSTER INFORMATION | ========================================================================================================= | NodeName | IpAddress | DistributionId | gnode | syncserver | DataState | --------------------------------------------------------------------------------------------------------- | node1 | 192.168.110.21 | 1 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node2 | 192.168.110.22 | 1 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node3 | 192.168.110.23 | 1 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node4 | 192.168.110.24 | 1 | OPEN | OPEN | 0 | ---------------------------------------------------------------------------------------------------------

对192.168.110.22,192.168.110.23进行缩容,一个混合节点,一个纯data节点。

创建新的distribution

[gbase@node1 gcinstall]$ gcadmin distribution gcChangeInfo_20240221.xml p 1 d 1 gcadmin generate distribution ... gcadmin generate distribution successful [gbase@node1 gcinstall]$

测试环境仅剩2个节点,不能p 2了,生产环境要注意主备分片数量。

检查新的distribution

[gbase@node1 gcinstall]$ gcadmin showdistribution Distribution ID: 2 | State: new | Total segment num: 2 Primary Segment Node IP Segment ID Duplicate Segment node IP ======================================================================================================================== | 192.168.110.21 | 1 | 192.168.110.24 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.24 | 2 | 192.168.110.21 | ======================================================================================================================== Distribution ID: 1 | State: old | Total segment num: 8 Primary Segment Node IP Segment ID Duplicate Segment node IP ======================================================================================================================== | 192.168.110.21 | 1 | 192.168.110.22 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.22 | 2 | 192.168.110.23 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.23 | 3 | 192.168.110.24 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.24 | 4 | 192.168.110.21 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.21 | 5 | 192.168.110.23 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.22 | 6 | 192.168.110.24 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.23 | 7 | 192.168.110.21 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.24 | 8 | 192.168.110.22 | ========================================================================================================================

目前已经可以看到两个distribution,其中新的只有21和24


初始化hashmap

[gbase@node1 ~]$ gccli -uroot GBase client 9.5.2.45.7_patch.10350d612. Copyright (c) 2004-2024, GBase. All Rights Reserved. gbase> initnodedatamap; Query OK, 1 row affected, 30 warnings (Elapsed: 00:00:02.46)

设置重分布rebalance并行度为0

gbase> set global gcluster_rebalancing_concurrent_count = 0; Query OK, 0 rows affected (Elapsed: 00:00:00.03) gbase> gbase> show variables like 'gcluster_rebalancing_concurrent_count'; +---------------------------------------+-------+ | Variable_name | Value | +---------------------------------------+-------+ | gcluster_rebalancing_concurrent_count | 0 | +---------------------------------------+-------+ 1 row in set (Elapsed: 00:00:00.00)

初始化rebalance

gbase> rebalance instance; Query OK, 13 rows affected (Elapsed: 00:00:00.32)

验证gclusterdb.rebalancing_status,测试环境暂时不需要调重分布整优先级

gbase> select count(1) from gclusterdb.rebalancing_status; +----------+ | count(1) | +----------+ | 13 | +----------+ 1 row in set (Elapsed: 00:00:00.03) gbase> select * from gclusterdb.rebalancing_status;

gclusterdb.rebalancing_status表中可以修改重分布优先级这里不进行详细说明

开始重分布

gbase> set global gcluster_rebalancing_concurrent_count =2; Query OK, 0 rows affected (Elapsed: 00:00:00.01)

查看gclusterdb.rebalancing_status表重分布进度

gbase> select index_name,end_time,status,percentage,priority,distribution_id from gclusterdb.rebalancing_status; +------------------------------------+----------------------------+-----------+------------+----------+-----------------+ | index_name | end_time | status | percentage | priority | distribution_id | +------------------------------------+----------------------------+-----------+------------+----------+-----------------+ | tanshuang.tans_test_001 | 2024-02-22 00:14:58.478000 | COMPLETED | 100 | 5 | 2 | | gclusterdb.import_audit_log_errors | 2024-02-22 00:14:57.830000 | COMPLETED | 100 | 5 | 2 | | gclusterdb.audit_log_express | 2024-02-22 00:15:10.757000 | COMPLETED | 100 | 5 | 2 | | tanshuang.tans_test_004 | 2024-02-22 00:15:09.454000 | COMPLETED | 100 | 5 | 2 | | test.test_20240125_tmp1 | NULL | RUNNING | 90 | 5 | 2 | | test.test_20240125_tmp2 | NULL | RUNNING | 10 | 5 | 2 | | test.test | NULL | STARTING | 0 | 5 | 2 | | tanshuang.tans_test_002 | 2024-02-22 00:15:13.104000 | COMPLETED | 100 | 5 | 2 | | tanshuang.tans_test_003 | NULL | STARTING | 0 | 5 | 2 | | test.tan_load_test | NULL | STARTING | 0 | 5 | 2 | | test.test_sm3_encrypt | NULL | STARTING | 0 | 5 | 2 | | test.test_20240125_tmp | NULL | STARTING | 0 | 5 | 2 | | test.test_20240125_tmp3 | NULL | STARTING | 0 | 5 | 2 | +------------------------------------+----------------------------+-----------+------------+----------+-----------------+

查看进度

gbase> select count(1) from gclusterdb.rebalancing_status where status <> 'COMPLETED'; +----------+ | count(1) | +----------+ | 8 | +----------+ 1 row in set (Elapsed: 00:00:00.04)

还有8张未完成重分布

确认重分布完成:

gbase> select count(1) from gclusterdb.rebalancing_status where status <> 'COMPLETED'; +----------+ | count(1) | +----------+ | 0 | +----------+ 1 row in set (Elapsed: 00:00:00.02)

没有再使用data_distribution_id 为1 的表

gbase> select index_name,tbname,data_distribution_id,vc_id from gbase.table_distribution; +------------------------------------+-------------------------+----------------------+---------+ | index_name | tbname | data_distribution_id | vc_id | +------------------------------------+-------------------------+----------------------+---------+ | gclusterdb.nodedatamap | nodedatamap | 1 | vc00001 | | gclusterdb.rebalancing_status | rebalancing_status | 2 | vc00001 | | gclusterdb.dual | dual | 2 | vc00001 | | gclusterdb.audit_log_express | audit_log_express | 2 | vc00001 | | tanshuang.tans_test_002 | tans_test_002 | 2 | vc00001 | | test.tan_load_test | tan_load_test | 2 | vc00001 | | tanshuang.tans_test_003 | tans_test_003 | 2 | vc00001 | | gclusterdb.import_audit_log_errors | import_audit_log_errors | 2 | vc00001 | | tanshuang.tans_test_001 | tans_test_001 | 2 | vc00001 | | tanshuang.tans_test_004 | tans_test_004 | 2 | vc00001 | | test.test_sm3_encrypt | test_sm3_encrypt | 2 | vc00001 | +------------------------------------+-------------------------+----------------------+---------+ 11 rows in set (Elapsed: 00:00:00.00)

gclusterdb.nodedatamap这个表先不用管

从分布完成之后删除老的distribution

[gbase@node1 gcinstall]$ gcadmin rmdistribution 1 cluster distribution ID [1] it will be removed now please ensure this is ok, input [Y,y] or [N,n]: y select count(*) from gbase.nodedatamap where data_distribution_id=1 result is not 0 refreshnodedatamap drop 1 success gcadmin remove distribution [1] success [gbase@node1 gcinstall]$ [gbase@node1 gcinstall]$
[gbase@node1 gcinstall]$ gcadmin showdistribution Distribution ID: 2 | State: new | Total segment num: 2 Primary Segment Node IP Segment ID Duplicate Segment node IP ======================================================================================================================== | 192.168.110.21 | 1 | 192.168.110.24 | ------------------------------------------------------------------------------------------------------------------------ | 192.168.110.24 | 2 | 192.168.110.21 | ======================================================================================================================== [gbase@node1 gcinstall]$

从集群中删除节点信息:

编写新的gcChangeInfo_20240221_rm
[gbase@node1 gcinstall]$ cat gcChangeInfo_20240221_rm.xml







[gbase@node1 gcinstall]$

从集群中删除节点信息 [gbase@node1 gcinstall]$ gcadmin rmnodes gcChangeInfo_20240221_rm.xml gcadmin remove nodes ... gcadmin rmnodes from cluster success [gbase@node1 gcinstall]$ gcadmin CLUSTER STATE: ACTIVE VIRTUAL CLUSTER MODE: NORMAL ================================================================= | GBASE COORDINATOR CLUSTER INFORMATION | ================================================================= | NodeName | IpAddress | gcware | gcluster | DataState | ----------------------------------------------------------------- | coordinator1 | 192.168.110.21 | OPEN | OPEN | 0 | ----------------------------------------------------------------- | coordinator2 | 192.168.110.22 | OPEN | OPEN | 0 | ----------------------------------------------------------------- ========================================================================================================= | GBASE DATA CLUSTER INFORMATION | ========================================================================================================= | NodeName | IpAddress | DistributionId | gnode | syncserver | DataState | --------------------------------------------------------------------------------------------------------- | node1 | 192.168.110.21 | 2 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node4 | 192.168.110.24 | 2 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- [gbase@node1 gcinstall]$

这个时候data节点信息移除了,但是管理节点仍然在,需要进行卸载。


卸载节点

编写demo.option
[gbase@node1 gcinstall]$ cat demo.options
installPrefix= /opt
coordinateHost = 192.168.110.22
coordinateHostNodeID = 22
dataHost = 192.168.110.22,192.168.110.23
existCoordinateHost = 192.168.110.21
existDataHost = 192.168.110.21,192.168.110.24
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = 'tansh111111'
#dbRootPwd = ''
#rootPwdFile = rootPwd.json
[gbase@node1 gcinstall]$

停服务:
cexec data: 'gcluster_services all stop'

cexec data: 'gcluster_services all info'

卸载

[gbase@node1 gcinstall]$ ./unInstall.py --silent=demo.options

These GCluster nodes will be uninstalled.
CoordinateHost:
192.168.110.22
DataHost:
192.168.110.22 192.168.110.23
Are you sure to uninstall GCluster ([Y,y]/[N,n])? [Y,y] or [N,n] : y

192.168.110.23 unInstall 192.168.110.23 successfully.
192.168.110.22 unInstall 192.168.110.22 successfully.
Update all coordinator gcware conf.
192.168.110.21 update gcware conf successfully.


启动服务

cexec data: 'gcluster_services all start' [gbase@node1 gcinstall]$ gcadmin CLUSTER STATE: ACTIVE VIRTUAL CLUSTER MODE: NORMAL ================================================================= | GBASE COORDINATOR CLUSTER INFORMATION | ================================================================= | NodeName | IpAddress | gcware | gcluster | DataState | ----------------------------------------------------------------- | coordinator1 | 192.168.110.21 | OPEN | OPEN | 0 | ----------------------------------------------------------------- ========================================================================================================= | GBASE DATA CLUSTER INFORMATION | ========================================================================================================= | NodeName | IpAddress | DistributionId | gnode | syncserver | DataState | --------------------------------------------------------------------------------------------------------- | node1 | 192.168.110.21 | 2 | OPEN | OPEN | 0 | --------------------------------------------------------------------------------------------------------- | node4 | 192.168.110.24 | 2 | OPEN | OPEN | 0 | ---------------------------------------------------------------------------------------------------------

管理节点需要卸载,纯data节点从实际考虑。

缩容测试完成。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 11:46:57

Dify插件开发必备文档清单(仅限内部流传的完整版)

第一章&#xff1a;Dify插件开发概述Dify 是一个支持可扩展架构的低代码 AI 应用开发平台&#xff0c;其插件系统允许开发者通过自定义模块扩展平台能力。插件可用于接入外部 API、封装业务逻辑或增强数据处理流程。通过插件机制&#xff0c;用户可以在不修改核心代码的前提下&…

作者头像 李华
网站建设 2026/4/22 23:51:47

终极Emby美化2025:个性化定制媒体中心完整指南

还在为Emby媒体服务器单调的界面设计而烦恼吗&#xff1f;想要让影音库焕然一新却不知从何入手&#xff1f;Emby Crx美化插件作为专为Chrome内核浏览器和EmbyServer设计的开源工具&#xff0c;通过自定义CSS样式和JavaScript功能&#xff0c;为你的媒体中心注入全新活力。无需专…

作者头像 李华
网站建设 2026/4/21 11:40:59

心理健康应用:用温和声线进行冥想引导与情绪安抚

心理健康应用&#xff1a;用温和声线进行冥想引导与情绪安抚 在焦虑成为日常背景音的今天&#xff0c;越来越多的人开始转向冥想、呼吸训练和正念练习来重建内心的平静。但一个常被忽视的问题是&#xff1a;谁在引导你&#xff1f; 当耳边响起一段机械、生硬甚至语调突兀的语音…

作者头像 李华
网站建设 2026/4/18 14:31:58

如何用Matminer在5分钟内完成材料科学数据挖掘?

如何用Matminer在5分钟内完成材料科学数据挖掘&#xff1f; 【免费下载链接】matminer Data mining for materials science 项目地址: https://gitcode.com/gh_mirrors/ma/matminer Matminer是一个专为材料科学领域设计的开源数据挖掘工具库&#xff0c;它通过智能的机器…

作者头像 李华
网站建设 2026/4/20 21:23:37

vivo语音助手:IndexTTS 2.0赋能更自然的人机对话

vivo语音助手&#xff1a;IndexTTS 2.0赋能更自然的人机对话 在智能手机日益成为用户数字生活中枢的今天&#xff0c;语音助手早已不再是简单的“命令-响应”工具。人们期待的是一个能听懂情绪、会讲故事、甚至带点性格的“伙伴”。然而&#xff0c;传统语音合成系统往往声音单…

作者头像 李华
网站建设 2026/4/21 11:39:49

如何利用Figma转HTML工具实现设计开发一体化

如何利用Figma转HTML工具实现设计开发一体化 【免费下载链接】figma-html Builder.io for Figma: AI generation, export to code, import from web 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 在当今快速迭代的产品开发环境中&#xff0c;设计与开发之间…

作者头像 李华