GBase 8a在扩容时,需要指定新的分布策略distribution,然后做数据重分布操作。如果重分布已经开始,发现策略搞错了,希望回退,可以参考本文介绍的方法。
目录导航
继续完成后做二次扩容
适合大部分数据已经完成重分布的情况。按照正常流程完成本次扩容,然后发起下一个扩容,包括
- 因为节点数没有变化。所以不需要安装步骤。
 - 创建新的分布策略,符合要求的。
 - 初始化
 - 重分布,等待完成
 - 完成扩容扫尾工作
 
通过如上操作,对数据的分布策略做了调整,因为大部分数据在第一轮已经完成,所以这个方案更省时间。
直接回退到老的策略
适合只有少量表参与了重分布的情况,也就是发现的很早。
关闭当前重分布
设置为0,关掉后续的重分布任务。
GBase 8a扩容并行任务参数gcluster_rebalancing_concurrent_count
等待正在运行中的重分布完成
那些RUNNING的是正在运行的。
select status,count(*) from gclusterdb.rebalancing_status group by status;
清空重分布任务列表
直接清掉rebalancing_status表
gbase> use gclusterdb;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> truncate table rebalancing_status;
Query OK, 1 row affected, 1 warning (Elapsed: 00:00:00.12)
反向重分布
此处重分布增加了to 参数,值为老的distributionID, 请根据现场实际情况修改。
gbase> rebalance instance to 1;
Query OK, 1 row affected (Elapsed: 00:00:00.58)
等待重分布完成
全部COMPLETED就行了
select status,count(*) from gclusterdb.rebalancing_status group by status;
清理新的信息,保留老的
gbase> refreshnodedatamap drop 2;
Query OK, 0 rows affected, 5 warnings (Elapsed: 00:00:00.68)
gbase> ^CAborted
[gbase@gbase_rh7_003 gcinstall]$ gcadmin
CLUSTER STATE:         ACTIVE
VIRTUAL CLUSTER MODE:  NORMAL
====================================
| GBASE GCWARE CLUSTER INFORMATION |
====================================
| NodeName |  IpAddress   | gcware |
------------------------------------
| gcware1  |  10.0.2.103  |  OPEN  |
------------------------------------
====================================================
|      GBASE COORDINATOR CLUSTER INFORMATION       |
====================================================
|   NodeName   | IpAddress  | gcluster | DataState |
----------------------------------------------------
| coordinator1 | 10.0.2.103 |   OPEN   |     0     |
----------------------------------------------------
===============================================================================================================
|                                       GBASE DATA CLUSTER INFORMATION                                        |
===============================================================================================================
| NodeName |                IpAddress                 | DistributionId |    gnode    | syncserver | DataState |
---------------------------------------------------------------------------------------------------------------
|  node1   |                10.0.2.103                |      1,2       |    OPEN     |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------------
|  node2   |                10.0.2.104                |       1        | UNAVAILABLE |            |           |
---------------------------------------------------------------------------------------------------------------
|  node3   |                10.0.2.105                |      1,2       |    OPEN     |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------------
|  node4   |                10.0.2.106                |                |    OPEN     |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------------
[gbase@gbase_rh7_003 gcinstall]$ gcadmin rmdistribution 2
distribution: id [2] is current distribution
it will be removed now
please ensure this is ok, input [Y,y] or [N,n]: y
gcadmin remove distribution [2] success
[gbase@gbase_rh7_003 gcinstall]$ gcadmin
CLUSTER STATE:         ACTIVE
VIRTUAL CLUSTER MODE:  NORMAL
====================================
| GBASE GCWARE CLUSTER INFORMATION |
====================================
| NodeName |  IpAddress   | gcware |
------------------------------------
| gcware1  |  10.0.2.103  |  OPEN  |
------------------------------------
====================================================
|      GBASE COORDINATOR CLUSTER INFORMATION       |
====================================================
|   NodeName   | IpAddress  | gcluster | DataState |
----------------------------------------------------
| coordinator1 | 10.0.2.103 |   OPEN   |     0     |
----------------------------------------------------
===============================================================================================================
|                                       GBASE DATA CLUSTER INFORMATION                                        |
===============================================================================================================
| NodeName |                IpAddress                 | DistributionId |    gnode    | syncserver | DataState |
---------------------------------------------------------------------------------------------------------------
|  node1   |                10.0.2.103                |       1        |    OPEN     |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------------
|  node2   |                10.0.2.104                |       1        | UNAVAILABLE |            |           |
---------------------------------------------------------------------------------------------------------------
|  node3   |                10.0.2.105                |       1        |    OPEN     |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------------
|  node4   |                10.0.2.106                |                |    OPEN     |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------------
[gbase@gbase_rh7_003 gcinstall]$