返回首页

gbase数据、南大通用产品文档:GBase8a集群节点替换

更新日期:2024年09月11日

当集群规模不断扩大时,集群节点损坏的概率会增加,同时随着数据量增大,单个
节点的计算能力和存储能力也可能成为瓶颈,
这两种情况都需要对集群节点进行替
换,保证集群能够正常工作。GBase 8a MPP Cluster 具有在线不停服务节点替换能
力,即可在生产环境下不停机进行节点替换。
说明

集群范围内同一时刻只能启动一个节点替换进程,不允许多个节点替换进程并行,gcware
会加资源锁来保证。

一次只能替换同一个vc 中的节点,且被替换节点至少有一个可用备份分片:

纯数据节点,一个vc 内的,一次可以替换多个data 节点;

复合节点,需要进行两次替换,先替换coordinator 节点,再替换数据节点;

复合节点,
可以同时替换包括复合节点里coordinator 节点在内的多个coordinator 节点;

复合节点,可以同时替换一个vc 中,包括复合节点里数据节点在内的多个数据节点。

如果复合节点上部署了gcware,则需要进行三次替换,先执行gcware 替换,然后执行
coordinator 替换,最后执行数据节点替换。

允许中断正在执行的节点替换进程。

允许用户指定数据恢复时用户数据表的恢复顺序。

允许用户指定节点替换过程中是否用内存(/dev/shm)来存储临时数据。

在线不停服务节点替换说明:
节点替换时,集群变为readonly 状态,集群收到应用程序写操作时,让SQL 等待,不返回
报错信息,等节点替换操作完成之后再返回,应用程序未超时的情况下,可以继续执行,
保证节点替换时完全在线。

如果gcware 和gcluster 部署在同一节点上,节点替换时需要对gcluster 和gcware 分别进行
替换,先替换gcware 节点,再替换gcluster 节点。

gcluster 节点替换同旧版本的节点替换操作,没有变化。

gcware 节点替换需单独进行,替换前必须保证gcware 节点多数派可用。

一次可以替换小于总gcware 节点数的一半。

支持在线替换,无需设置原集群gcware 节点的gcware 状态。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
290

控制是否开启union 重分布优化,取值范围[0,1,2]
默认值为0 代表关闭
1 表示开启,不支持union 两边对应为int 和decimal 列进行重分布优化
2 表示开启,支持union 两边对应为int 和decimal 列进行重分布优化,重分
布前会将int 列转换为decimal 类型,进行重分布

语法格式
partition_options:
PARTITION BY [LINEAR] HASH(expr)
[PARTITIONS num]
[(partition_definition [, partition_definition] ...)]
partition_definition:
PARTITION partition_name
说明

expr 是一个返回一个整数的表达式,
也可以是字段类型为整型的物
理列的名字;

创建分区表过程中,num 大于8192,报错;

创建分区表过程中,num 等于0,报错。
示例
示例1:创建hash 分区表
gbase> create table t1 (a int, b varchar(10)) partition by hash(a);
Query OK, 0 rows affected (Elapsed: 00:00:00.09)