返回首页

gbase数据、南大通用产品文档:GBase8aALTER TABLE REBUILD PARTITION

更新日期:2024年09月11日

对分区表的数据进行迁移。执行此语句后,会比较机器上的当前时间和分区表中存
储的时间,如果两者时间不一致,将对各个分区上的数据进行数据迁移,数据迁移
成功后,将会修改分区表中存储的时间。
例如:分区表的GBase 8t 分区中存储1 周以内的数据,在2016.6.30,GBase 8t 分
区中存储2016.6.23~2016.6.30 的数据,在2016.7.1,执行此语句后,GBase 8t 分区
中将存储2016.6.24~2016.7.1 的数据,

 单实例升级多实例
步骤:升级-->扩容-->多实例numa 绑定[可选]
第一步:升级
升级语法无变化,升级的原集群必须是952 及952 以上的版本。
./gcinstall.py --silent=demo.options –U
升级命令执行成功后需在各服务器再次执行一遍SetSysEnv.py 进行环境变
量配置:python SetSysEnv.py --installPrefix=/opt --dbaUser=gbase
集群升级,gcwareHost 必须指定且值必须为旧版本gcware 节点。
集群升级,IPV4 不能指定gcwareHostNodeID ;非IPV4 必须指定
gcwareHostNodeID 且值必须为已有gcware 的nodeid。
说明:
非IPV4 指定gcwareHostNodeID,可以到gcware/config 目录下查看
gcware.conf,
里面有nodeid。
Totem 下的nodeid 是gcwarehostnodeid,
gcware





南大通用数据技术股份有限公司
41/44
下的nodeid 是coordinatehostnodeid。
第二步:扩容,使用数据库管理员用户(如:gbase)执行。
给新增加的多实例节点安装集群软件
./gcinstall.py --silent=demo.options --license_file=gbase.lic
demo.options
需修改:添加
dataHost ,填写当前已存在的
existCoordinateHost
、existDataHost
、existGcwareHost ,注释
#coordinateHost

#coordinateHostNodeID

#gcwareHost

#gcwareHostNodeID
创建distribution
gcadmin distribution gcChangeInfo.xml p 1 d 1
生成新的hashmap
gbase> initnodedatamap;
数据重分布
下面的rebalance 参数根据需要重分布的数据量进行灵活设置
gbase> set global gcluster_rebalancing_concurrent_count=0;
gbase> rebalance instance;
gbase> set global gcluster_rebalancing_concurrent_count=3;
gbase> select * from gclusterdb.rebalancing_status;
删除旧的hashmap
gbase> refreshnodedatamap drop 1;
删除旧的distribution
[gbase@pst_w61 ~]$ gcadmin rmdistribution 1;
第三步:多实例numa 绑定[可选]
根据实际需要可选择是否绑定numa 节点,绑定方式参考2.3 章节NUMA 绑
定。
修改多实例下的gnode/server/bin/gcluster_services 文件后重启集群服
务。
注意:
单实例升级多实例版本中扩容步骤可能出现的问题:
./gcinstall.py --silent=demo.osptions --license_file=20210323.lic





南大通用数据技术股份有限公司
42/44
执行完后,多实例的数据节点下没有license 文件,重新执行./License 导
入也没有该文件,需要手动拷贝过去后启动gbase 服务
 多实例升级多实例
升级语法无变化
 自动回退
单实例升级多实例或多实例升级多实例过程中发生错误,升级失败后都
会自动回退,无需人工干预。
 手工回退
要求回退前集群可用。回退语法如下:
切换到gcinstall 目录下
python Restore.py --silent=demo.options –backupFile= --
backupGcwareFile=
注:
如果是多实例回退到单实例,要求升级后没有对集群进行过扩容缩容操作。

升级程序在升级前备份原集群重要文件,如系统表、环境变量等,用户数据
不备份。如果原集群是多实例,备份文件会带多实例标识,回退程序会通过读取
备份文件来自动判断回退目标是单实例还是多实例进行回退。

语法格式
gha_ctl shrink datanode del_group1 [del_group2 ...] -l dcslist [-c cluster] -u
uuid -j parallel_num
将原集群的M 个DN 主备组缩容为N 个主备组(N容时需要删除的DN 主备组名称。其他参数说明同上。
示例
[gbase@gbase8c ~]$ gha_ctl shrink datanode dn3 dn4 -l http://10.0.7.7:2379 -u
b99ee57c-8b90-4196-896c-19d58bdaae6a