news 2026/7/2 11:31:39

GBase 8c DN节点扩容缩容使用解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GBase 8c DN节点扩容缩容使用解析

在生产环境中,用户会面临业务需求增长时,系统自动增加数据库节点以保证计算存储能力。在业务需求下降时,系统自动减少数据库节点以节约成本。

一、概述

GBase 8c 数据库支持对于数据节点的在线扩缩容操作。

  1. gha_ctl 提供扩缩容接口,支持对 datanode 节点进行扩容及缩容操作。
  2. 在进行扩缩容期间,集群能对现有数据表进行正常的读写操作。
  3. 扩缩容后,需保证数据库集群的数据一致性。在进行扩容时,将既存节点的数据迁移一部分到新加入节点,进行缩容时,将删除节点的数据迁移到保留节点上。
  4. 支持 Replication 表的在线扩容缩容。
  5. 支持 hashbucket 表的在线扩容缩容。

注意:扩容后 DN 高可用组的副本数应保持一致,否则存在风险。

二、扩容

操作步骤

GBase 8c 数据库集群扩容的步骤如下:

(1) 在新增节点的主机上配置集群节点间互信。生成新主机密钥并传至其他所有节点:

ssh-keygen -t rsa ssh-copy-id root@ip ssh-copy-id gbase@ip

注意:该步骤必须配置并检查,如配置互信过程出错,可能影响后续步骤。

(2) 在集群中添加新增节点的 IP,在 DCS 节点上执行命令:

gha_ctl deploy host_ip -l http://​dcs_ip:2379

执行返回以下信息,即为操作成功,

{ "ret":0, "msg":"Success" }

(3) 执行扩容命令。

将原集群的 M 个 DN 主备组扩容为 N 个主备组(N>M),将新增加的每一个主备组信息用一组引号单独括起来,每个主备的信息是 DN 组名 + 用括号括起来的所有主备节点的信息,一个节点用一个括号。语法如下:

gha_ctl expand datanode 'new_group1 (name1_1 host1_1 port1_1 dir1_1 agent_port1_1 agent_host1_1) (name1_2 host1_2 port1_2 dir1_2 agent_port1_2 agent_host1_2)' 'new_group2 (name2_1 host2_1 port2_1 dir2_1 agent_port2_1 agent_host2_1) (name2_2 host2_2 port2_2 dir2_2 agent_port2_2 agent_host2_2)' ['...'] -l dcslist [-c cluster] -u uuid -j parallel_num [-a/--action retry|rollback] -U/--user user_name -W/ --password password

其中参数说明:

  • new_group:指定新增高可用组的名称。可根据需要,同时扩充多个高可用组。
  • name:指定高可用组内的 DN 节点名称,一般格式应为 dn[数字]_[数字]。
  • host:指定扩容高可用组内对应 DN 节点的 IP。
  • port:指定对应 DN 节点的端口号。同高可用组内端口需一致。当资源限制需重复使用同一节点,在不同高可用组内分别承担主备角色时,需将两个高可用组端口设置不同,避免端口复用而报错。
  • dir:指定对应 DN 节点的存储路径。
  • agent_port:指定对应 DN 节点的代理端口号。
  • agent_host:为可选参数。缺省值为 host 参数值。指定 DN 节点控制面 IP。
  • -u uuid:通过唯一标识指定数据库。uuid 可以用如下命令生成:
cat /proc/sys/kernel/random/uuid
  • -j parallel_num:指定扩容时并行执行参数,多表同时执行重分布。默认值为 1。
  • -a,--action:指定扩容失败后的动作,可选值为 retry、rollback,分别表示失败后重试、失败后回退。
  • -U, --user:指定连接的数据库用户。
  • -W, --password:指定数据库用户的登录密码。

限制

为避免数据库扩容过程中可能出现的数据丢失问题,扩容新增的节点必须是按照组名排序后,处在最后的分片。

示例
示例一:扩容 DN2 高可用组,组内主节点为 10.0.7.6,备节点 10.0.7.7。

cat /proc/sys/kernel/random/uuid 40ac7d83-6be3-486c-83c4-8942a16d3590 gha_ctl expand datanode 'dn2 (dn2_1 10.0.7.6 15466 /home/gbase/data/dn2_1 8011 10.0.7.6) (dn2_2 10.0.7.7 15466 /home/gbase/data/dn2_2 8012 10.0.7.7) ' -l http://10.0.7.7:2379 -u 40ac7d83-6be3-486c-83c4-8942a16d3590 -U testadmin -W 'Gbase,123'

返回以下信息,表示扩容成功

{ "ret":0, "msg":"Success" }

查看数据库集群状态

gha_ctl monitor all -H -l** **http://10.0.7.7:2379 +----+-------------+----------+-------+---------+--------+ | No | name | host | port | state | leader | +----+-------------+----------+-------+---------+--------+ | 0 | gha_server1 | 10.0.7.7 | 20001 | running | True | +----+-------------+----------+-------+---------+--------+ +----+------+----------+------+---------------------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------+------+---------------------------+---------+---------+ | 0 | gtm1 | 10.0.7.7 | 6666 | /home/gbase/data/gtm/gtm1 | running | primary | | 1 | gtm2 | 10.0.7.8 | 6666 | /home/gbase/data/gtm/gtm2 | running | standby | +----+------+----------+------+---------------------------+---------+---------+ +----+------+----------+------+----------------------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------+------+----------------------------+---------+---------+ | 0 | cn1 | 10.0.7.7 | 5432 | /home/gbase/data/coord/cn1 | running | primary | | 1 | cn2 | 10.0.7.8 | 5432 | /home/gbase/data/coord/cn2 | running | primary | +----+------+----------+------+----------------------------+---------+---------+ +----+-------+-------+----------+-------+----------------------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------+-------+----------------------------+---------+---------+ | 0 | dn1 | dn1_1 | 10.0.7.7 | 15432 | /home/gbase/data/dn1/dn1_1 | running | primary | | 1 | dn1 | dn1_2 | 10.0.7.8 | 15432 | /home/gbase/data/dn1/dn1_2 | running | standby | +----+-------+-------+----------+-------+----------------------------+---------+---------+ +----+----------------------+--------+---------+----------+ | No | url | name | state | isLeader | +----+----------------------+--------+---------+----------+ | 0 | http://10.0.7.7:2379 | node_0 | healthy | True | | 1 | http://10.0.7.8:2379 | node_1 | healthy | False | | 2 | http://10.0.7.9:2379 | node_2 | healthy | False | +----+----------------------+--------+---------+----------+

二、缩容

语法格式

gha_ctl shrink datanode del_group1 [del_group2 ...] -l dcslist [-c cluster] -u uuid -j parallel_num [-a/--action retry|rollback]

将原集群的 M 个 DN 主备组缩容为 N 个主备组(N<M),del_group1, del_group2 为缩容时需要删除的 DN 主备组名称。其他参数说明同上。

限制

为避免数据库缩容过程中可能出现的数据丢失问题,缩容的节点必须是按照组名排序后,处在最后的分片。

示例

gha_ctl shrink datanode dn3 dn4 -l ​http://​10.0.7.7:2379 -u b99ee57c-8b90-4196-896c-19d58bdaae6a

三、查询扩缩容结果

语法格式

gha_ctl get expand latest/history -l ​dcslist ​[-c ​cluster​]

示例

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

计算机毕业设计之基于机器学习的商品评论分析系统设计与实现

基于机器学习的商品评论分析系统是一个利用先进技术和算法对商品评论进行深度处理和分析的智能化系统。该系统结合了Spark、Django和Spider等技术&#xff0c;为商家和消费者提供了高效、准确的评论信息&#xff0c;有助于提升购物体验和市场竞争力。Spark作为大数据处理框架&a…

作者头像 李华
网站建设 2026/7/2 11:31:07

上海头部GEO平台选哪家合适?2026技术实测、架构分级与工程选型指南

#GEO生成式引擎优化 #大模型RAG应用 #企业AI知识库 #上海AI技术服务商 #AI语义优化 一、前言&#xff1a;GEO行业已经从「营销代运营」进入「技术基建时代」 2026年&#xff0c;生成式AI检索已全面替代传统搜索入口&#xff0c;企业品牌信息的第一话语权由大模型回答结果决定。…

作者头像 李华
网站建设 2026/7/2 11:28:06

造纸滚筒平衡机

在造纸行业中&#xff0c;造纸滚筒的平衡状态对于纸张的质量和生产效率起着至关重要的作用。一台优质的造纸滚筒平衡机能够有效解决滚筒不平衡带来的问题&#xff0c;提升生产的稳定性和产品质量。今天&#xff0c;我们就来深入了解一下造纸滚筒平衡机&#xff0c;以及上海申帛…

作者头像 李华
网站建设 2026/7/2 11:26:15

如何打造你的私人云游戏服务器:Sunshine全平台搭建指南

如何打造你的私人云游戏服务器&#xff1a;Sunshine全平台搭建指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想不想在任何设备上玩PC游戏&#xff1f;无论是客厅的智能电视、…

作者头像 李华
网站建设 2026/7/2 11:22:54

三步解锁加密数据:WechatDecrypt微信聊天记录解密实战指南

三步解锁加密数据&#xff1a;WechatDecrypt微信聊天记录解密实战指南 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 你是否曾因更换手机而丢失重要的微信聊天记录&#xff1f;那些珍贵的工作沟通、生活…

作者头像 李华