返回首页

gbase数据、南大通用产品文档:GBase8a创建中间的distribution

更新日期:2024年09月11日

建立新的distribution,该分布信息用于剔除被替换节点,其他节点分片分布保持不
变。
操作步骤
步骤1:查看172.168.83.13 节点所在vc2 的distribution 信息。
$ gcadmin showdistribution vc vc2 node
Distribution ID: 2 | State: new | Total segment num: 2
============================================
|
nodes
|172.168.83.13 |172.168.83.14
|
--------------------------------------------
| primary
|
1
|
2
|
| segments |
|
|
--------------------------------------------
|duplicate |
2
|
1
|
|segments 1|
|
|
============================================
步骤2:
使用gcadmin getdistribution 命令将待替换节点所在的vc 的distribution 信息
保存在指定的文件中。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
337
从步骤1 的执行结果可以看到Disribution ID 为2,将vc2 上distribution ID 为2 的
distribution 信息保存到文件distribution_info_vc2.xml 中:
$ gcadmin getdistribution 2 distribution_info_vc2.xml vc vc2
gcadmin getdistribution 2 distribution_info_vc2.xml vc vc2 ...
get segments information
write segments information to file [distribution_info_vc1.xml]
gcadmin getdistribution information successful
$ cat distribution_info_vc2.xml



















步骤3:修改新的distribution 的分布规则信息。
修改原则为让被替换节点没有任何分片,其他节点分片的分布规则不变,

若被替换节点存储的分片是作为主分片,
则将该分片的备份分片节点修改为主
分片节点,
即节点IP 在primarynode 标签中,
则将该segment 内的duplicatenodes
标签内的IP 替换被替换节点IP,并删除duplicatenodes 标签。

若被替换节点存储的分片是作为备份分片,
即被替换的节点IP 在duplicatenodes
标签中,则将该duplicatenodes 标签删除。
修改后的distribution_info_vc2.xml 文件参考如下:
$ cat distribution_info_vc2.xml


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












步骤4:修改创建distribution 所需的gcChangeInfo_vc2.xml 文件。
$ cat gcChangeInfo_vc2.xml




步骤5:执行创建新的distribution(Distribution ID 为3 的distribution)。
$ gcadmin distribution gcChangeInfo_vc2.xml vc vc2
gcadmin generate distribution ...
gcadmin generate distribution successful
完成后的集群信息如下:
$ gcadmin showdistribution vc vc2
Distribution ID: 3 | State: new | Total segment num: 2
Primary Segment Node IP
Segment ID
Duplicate Segment node IP
===========================================================
==
|

SQL 代码的示例在整个出版物中出现。
除非另有说明,
代码不特定于任何单个的 GBase 8s
应用程序开发工具。
如果示例中仅列出 SQL 语句,那么它们将不用分号定界。例如:您可能看到以下示例中
的代码:
CONNECT TO stores_demo
...

DELETE FROM customer
WHERE customer_num = 121
...

COMMIT WORK
DISCONNECT CURRENT
要将此 SQL 代码用于特定产品,必须应用该产品的语法规则。例如,如果使用的是 SQL
API,那么必须在每条语句的开头使用 EXEC SQL,并在每条语句的结尾使用分号(或其
他合适的定界符)。 如果使用的是 DB–Access,那么必须用分号将多条语句隔开。
提示: 代码示例中的省略点表示在整个应用程序中将添加更多的代码,但是不必显示它以描
述正在讨论的概念。
有关使用特定应用程序开发工具或 SQL API 的 SQL 语句的详细指导,
请参阅您的产品文
档。

2 数据库概念
本章描述基本数据库概念并着重讨论一下主题:

数据模型

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 3 -

多用户

数据库术语

SQL(结构化查询语言)
数据库的实际使用从 SELECT 语句开始,在编写 SELECT 语句中进行了描述。

功能

指定导出数据所使用的查询SQL 语句。由于查询语句常有空格,该参数在指
定时,需要用双引号限定。该参数不能与parallel 参数同时使用。

查询语句应该为一个符合oracle 语法的SQL,并且只返回一组结果集。
示例
示例1
--query="select * from lineorder"
示例2
-q"select * from lineorder"
参数说明
表4- 95 参数说明
参数全称
参数简称
取值范围
默认值
query
q